Mercurial > minori
comparison dep/animia/CMakeLists.txt @ 201:8f6f8dd2eb23
dep/animia: finish kvm backend
dep/animia: cmake: don't use kvm on unsupported systems, use private and public includes properly
cmake: why are we defining target include directories twice?
| author | paper@DavesDouble.local |
|---|---|
| date | Sun, 19 Nov 2023 19:13:28 -0500 |
| parents | e44b7c428d7c |
| children | 71832ffe425a |
comparison
equal
deleted
inserted
replaced
| 169:e44b7c428d7c | 201:8f6f8dd2eb23 |
|---|---|
| 71 if(LIBUTIL_GOOD) | 71 if(LIBUTIL_GOOD) |
| 72 list(APPEND LIBRARIES ${LIBUTIL_LIBRARY}) | 72 list(APPEND LIBRARIES ${LIBUTIL_LIBRARY}) |
| 73 list(APPEND DEFINES LIBUTIL) | 73 list(APPEND DEFINES LIBUTIL) |
| 74 list(APPEND SRC_FILES src/fd/libutil.cc) | 74 list(APPEND SRC_FILES src/fd/libutil.cc) |
| 75 endif() # LIBUTIL_GOOD | 75 endif() # LIBUTIL_GOOD |
| 76 elseif(LIBKVM_LIBRARY) # BSD libkvm | 76 elseif(LIBKVM_LIBRARY) # OpenBSD kvm |
| 77 get_filename_component(LIBKVM_DIR ${LIBKVM_LIBRARY} DIRECTORY) | 77 include(CheckSymbolExists) |
| 78 # Check if we can get open files by PID | |
| 79 check_symbol_exists(KERN_FILE_BYPID "kvm.h" HAVE_BYPID) | |
| 78 | 80 |
| 79 include(CheckLibraryExists) | 81 if(HAVE_BYPID) |
| 80 check_library_exists(kvm kvm_getprocs ${LIBKVM_DIR} LIBKVM_GOOD) | |
| 81 | |
| 82 if(LIBKVM_GOOD) | |
| 83 list(APPEND LIBRARIES ${LIBKVM_LIBRARY}) | 82 list(APPEND LIBRARIES ${LIBKVM_LIBRARY}) |
| 84 list(APPEND DEFINES LIBKVM) | 83 list(APPEND DEFINES LIBKVM) |
| 85 list(APPEND SRC_FILES src/fd/libkvm.cc) | 84 list(APPEND SRC_FILES src/fd/kvm.cc) |
| 86 endif() # LIBUTIL_GOOD | 85 endif() # LIBUTIL_GOOD |
| 87 endif() # LINUX | 86 endif() # LINUX |
| 88 | 87 |
| 89 # X11 | 88 # X11 |
| 90 find_package(X11 COMPONENTS X11) | 89 find_package(X11 COMPONENTS X11) |
| 126 PUBLIC_HEADER include/animia.h | 125 PUBLIC_HEADER include/animia.h |
| 127 CXX_STANDARD 17 | 126 CXX_STANDARD 17 |
| 128 ) | 127 ) |
| 129 | 128 |
| 130 target_compile_definitions(animia PUBLIC ${DEFINES}) | 129 target_compile_definitions(animia PUBLIC ${DEFINES}) |
| 131 target_include_directories(animia PRIVATE include PUBLIC ${INCLUDE_DIRS}) | 130 target_include_directories(animia PUBLIC include PRIVATE ${INCLUDE_DIRS}) |
| 132 target_link_libraries(animia PUBLIC ${LIBRARIES}) | 131 target_link_libraries(animia PUBLIC ${LIBRARIES}) |
