Modules/Math/CMakeLists.txt
Шурупов Илья Викторович 7d7c7d3f0c Add CMake presets for Linux and Android and make desktop parts optional
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).
2026-10-17 09:19:48 +03:00

16 lines
668 B
CMake

project(Math)
### ---------------------- Static Library --------------------- ###
file(GLOB SOURCES "./private/*.cpp")
file(GLOB HEADERS "./public/*.hpp")
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
target_include_directories(${PROJECT_NAME} PUBLIC ./public/)
target_link_libraries(${PROJECT_NAME} PUBLIC Containers)
### -------------------------- 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 ()