From 31ebef777bbe34b850e87f112e8a9e8b60e29ef8 Mon Sep 17 00:00:00 2001 From: cat Date: Tue, 6 Jan 2026 03:10:55 +0200 Subject: [PATCH] Added a basic CMAKE script (no find library or pkg-config yet!) --- CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..9bf7e2b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.10) + +project(Tourmaline VERSION 1) + +set(CMAKE_CXX_STANDARD 23) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address") +endif() + +include(GNUInstallDirs) + +include_directories(headers) +add_library(${PROJECT_NAME} SHARED + "source/ECS/Component.cpp" + "source/ECS/World.cpp" + "source/Systems/Logging.cpp" + "source/Systems/Random.cpp" + "source/Types/UUID.cpp") + +set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) + +# Nothing to link right now +target_link_libraries(${PROJECT_NAME}) + +install( + TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}Targets + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin) +install(DIRECTORY headers/ DESTINATION include/${PROJECT_NAME})