MODULES_BUILD_DESKTOP, MODULES_BUILD_TESTS and MODULES_BUILD_EXAMPLES default to on everywhere except Android. Wayland, the window layer, ImGui, GLFW, OIDN, PortAudio and the desktop applications build only with the desktop option. Graphics gains a GraphicsVulkan library with the platform-free Vulkan context, GPU timer and frame code. UnitTest++ is built from Externals/unittest-cpp directly instead of through lalr, which nothing else uses. Presets: linux-debug, linux-release, android-arm64-debug and android-arm64-release (NDK toolchain from ANDROID_NDK_HOME, API 31, arm64-v8a).
19 lines
819 B
CMake
19 lines
819 B
CMake
project(Connection)
|
|
|
|
set(BINDINGS_INCLUDE ./../Externals/asio/asio/include)
|
|
|
|
### ---------------------- Static Library --------------------- ###
|
|
file(GLOB SOURCES "./private/*.cpp" "./private/*/*.cpp")
|
|
file(GLOB HEADERS "./public/*.hpp")
|
|
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
|
|
target_include_directories(${PROJECT_NAME} PUBLIC ./public/)
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${BINDINGS_INCLUDE})
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC Modules)
|
|
|
|
### -------------------------- Tests -------------------------- ###
|
|
if (MODULES_BUILD_TESTS)
|
|
file(GLOB TEST_SOURCES "./tests/*.cpp")
|
|
add_executable(Test${PROJECT_NAME} ${TEST_SOURCES})
|
|
target_link_libraries(Test${PROJECT_NAME} ${PROJECT_NAME} UnitTest++)
|
|
add_test(NAME Test${PROJECT_NAME} COMMAND Test${PROJECT_NAME})
|
|
endif ()
|