github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/cpvmm/vmm/CMakeLists.txt (about)

     1  # Copyright 2014, Google Inc.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.  # You may obtain a copy of the License at
     5  #
     6  #     http://www.apache.org/licenses/LICENSE-2.0
     7  #
     8  # Unless required by applicable law or agreed to in writing, software
     9  # distributed under the License is distributed on an "AS IS" BASIS,
    10  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11  # See the License for the specific language governing permissions and
    12  # limitations under the License.
    13  
    14  add_subdirectory(acpi)
    15  add_subdirectory(arch)
    16  add_subdirectory(bootstrap)
    17  add_subdirectory(dbg)
    18  add_subdirectory(guest)
    19  add_subdirectory(host)
    20  add_subdirectory(ipc)
    21  add_subdirectory(libc)
    22  add_subdirectory(memory)
    23  add_subdirectory(startup)
    24  add_subdirectory(utils)
    25  add_subdirectory(vmexit)
    26  add_subdirectory(vmx)
    27  
    28  # We have to put the bootstrap print code here so it can be built as 64-bit.
    29  set(BPRINT_SRCS
    30      bootstrap/bootstrap_print.c
    31      bootstrap/bootstrap_string.c
    32     )
    33  
    34  add_library(bprint STATIC ${BPRINT_SRCS})
    35  
    36  set(EVMM_LIBS
    37      acpi
    38      arch
    39      bprint
    40      dbg
    41      guest
    42      guest_cpu
    43      host
    44      host_hw
    45      host_hw_em64t
    46      ipc
    47      libc
    48      memory_ept
    49      memory_manager
    50      scheduler
    51      startup
    52      vmexit
    53      vmx
    54      utils
    55     )
    56  
    57  set(CMAKE_EXE_LINKER_FLAGS "-nostdlib -T ${CMAKE_CURRENT_SOURCE_DIR}/evmm.x -fPIE -e vmm_main")
    58  add_executable(evmm.bin vmm.c evmm.x)
    59  
    60  target_link_libraries(evmm.bin ${EVMM_LIBS})
    61