diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:44:05 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 18:44:05 +0300 |
| commit | 0b24459ac12b6cf9fd5a401d647796ca254a8fa8 (patch) | |
| tree | f2fd66e2476976a51e2a51330fd95dc6e87b24c1 /tomlplusplus/src/modules/CMakeLists.txt | |
| parent | b85e90fc3480da0e6a48da73201a0b22488cc650 (diff) | |
| parent | 1c8b7466e4946fcc3bf20484c0e1d001202cca5a (diff) | |
| download | Project-Tick-0b24459ac12b6cf9fd5a401d647796ca254a8fa8.tar.gz Project-Tick-0b24459ac12b6cf9fd5a401d647796ca254a8fa8.zip | |
Add 'tomlplusplus/' from commit '1c8b7466e4946fcc3bf20484c0e1d001202cca5a'
git-subtree-dir: tomlplusplus
git-subtree-mainline: b85e90fc3480da0e6a48da73201a0b22488cc650
git-subtree-split: 1c8b7466e4946fcc3bf20484c0e1d001202cca5a
Diffstat (limited to 'tomlplusplus/src/modules/CMakeLists.txt')
| -rw-r--r-- | tomlplusplus/src/modules/CMakeLists.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tomlplusplus/src/modules/CMakeLists.txt b/tomlplusplus/src/modules/CMakeLists.txt new file mode 100644 index 0000000000..5315390175 --- /dev/null +++ b/tomlplusplus/src/modules/CMakeLists.txt @@ -0,0 +1,44 @@ +file(GLOB_RECURSE TOMLPLUSPLUS_MODULES *.cppm) + +add_library(tomlplusplus_modules) +target_sources(tomlplusplus_modules + PUBLIC + FILE_SET CXX_MODULES FILES + ${TOMLPLUSPLUS_MODULES} +) + +cmake_minimum_required(VERSION 3.28) + +if(NOT COMMAND configure_cpp_module_target) + function(configure_cpp_module_target target) + if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.28) + target_sources(${target} PUBLIC FILE_SET CXX_MODULES FILES ${TOMLPLUSPLUS_MODULES}) + else() + message(WARNING "C++ modules require CMake 3.28+. Using standard compilation.") + target_sources(${target} PRIVATE ${TOMLPLUSPLUS_MODULES}) + endif() + endfunction() +endif() + +configure_cpp_module_target(tomlplusplus_modules) + +target_link_libraries(tomlplusplus_modules + PUBLIC + tomlplusplus::tomlplusplus +) + +target_include_directories(tomlplusplus_modules + PRIVATE + ${tomlplusplus_SOURCE_DIR}/include +) + +target_compile_features(tomlplusplus_modules PUBLIC cxx_std_20) + +if(TOMLPLUSPLUS_ENABLE_INSTALL) + install(TARGETS tomlplusplus_modules + EXPORT tomlplusplus-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + FILE_SET CXX_MODULES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tomlplusplus/modules + ) +endif() |
