diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 17 |
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(".") |