diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-08 21:32:00 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-08 21:34:37 +0800 |
commit | 0b0c32a1d688389c36f1847edf77af1fd7a2f9d7 (patch) | |
tree | 904d65208931bc2b6930ea4c7406192ad10d98c0 /CMakeLists.txt | |
parent | 593b658eb1491d4b3103971aba6592aff2765f0e (diff) | |
download | cru-0b0c32a1d688389c36f1847edf77af1fd7a2f9d7.tar.gz cru-0b0c32a1d688389c36f1847edf77af1fd7a2f9d7.tar.bz2 cru-0b0c32a1d688389c36f1847edf77af1fd7a2f9d7.zip |
Fix static lib build on win.
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(".") |