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