aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 281de58b..3b26a29d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,3 +40,20 @@ endif()
set(CLANGD_TEMPLATE ${PROJECT_SOURCE_DIR}/scripts/clangd.in)
configure_file(${CLANGD_TEMPLATE} ${CLANGD_FILE})
+function(cru_process_dir dir)
+ get_property(targets DIRECTORY "${dir}" PROPERTY BUILDSYSTEM_TARGETS)
+ foreach(target ${targets})
+ if(WIN32)
+ get_property(target_type TARGET "${target}" PROPERTY TYPE)
+ if("${target_type}" STREQUAL "SHARED_LIBRARY")
+ target_compile_definitions("${target}" PRIVATE CRU_IS_DLL=1)
+ endif()
+ endif()
+ endforeach()
+ get_property(subdirectories DIRECTORY "${dir}" PROPERTY SUBDIRECTORIES)
+ foreach(subdir ${subdirectories})
+ cru_process_dir("${subdir}")
+ endforeach()
+endfunction()
+
+cru_process_dir(".")