aboutsummaryrefslogtreecommitdiffstats
path: root/src/build-data/cmake.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/build-data/cmake.in')
-rw-r--r--src/build-data/cmake.in27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/build-data/cmake.in b/src/build-data/cmake.in
index 4fa906008..33c6cb962 100644
--- a/src/build-data/cmake.in
+++ b/src/build-data/cmake.in
@@ -6,23 +6,34 @@ cmake_policy(SET CMP0042 NEW)
endif()
set(BOTAN_SOURCES
-%{cmake_lib_sources})
+%{for lib_srcs}
+ "${CMAKE_CURRENT_LIST_DIR}/%{i}"
+%{endfor}
+)
set(BOTAN_CLI
-%{cmake_cli_sources})
+%{for cli_srcs}
+ "${CMAKE_CURRENT_LIST_DIR}/%{i}"
+%{endfor}
+)
set(BOTAN_TESTS
-%{cmake_test_sources})
+%{for test_srcs}
+ "${CMAKE_CURRENT_LIST_DIR}/%{i}"
+%{endfor}
+)
-%{cmake_compile_properties}
+%{for isa_build_info}
+set_source_files_properties("${CMAKE_CURRENT_LIST_DIR}/%{src}" PROPERTIES COMPILE_FLAGS "%{isa_flags}")
+%{endfor}
option(ENABLED_OPTIONAL_WARINIGS "If enabled more strict warning policy will be used" OFF)
option(ENABLED_LTO "If enabled link time optimization will be used" OFF)
-set(COMPILER_FEATURES_RELEASE %{cc_lang_flags} %{cc_compile_flags} %{cxx_abi_flags})
+set(COMPILER_FEATURES_RELEASE %{cc_lang_flags} %{cc_compile_opt_flags} %{cxx_abi_opt_flags})
set(COMPILER_FEATURES_DEBUG %{cc_lang_flags} %{cc_compile_debug_flags} %{cxx_abi_debug_flags})
set(COMPILER_FEATURES $<$<NOT:$<CONFIG:DEBUG>>:${COMPILER_FEATURES_RELEASE}> $<$<CONFIG:DEBUG>:${COMPILER_FEATURES_DEBUG}>)
-set(SHARED_FEATURES %{cmake_shared_flags})
+set(SHARED_FEATURES %{shared_flags})
set(STATIC_FEATURES -DBOTAN_DLL=)
set(COMPILER_WARNINGS %{cc_warning_flags})
set(COMPILER_INCLUDE_DIRS build/include build/include/external)
@@ -34,14 +45,14 @@ if(ENABLED_OPTIONAL_WARINIGS)
endif()
add_library(${PROJECT_NAME} STATIC ${BOTAN_SOURCES})
-target_link_libraries(${PROJECT_NAME} PUBLIC %{cmake_libs_used})
+target_link_libraries(${PROJECT_NAME} PUBLIC %{cmake_link_to})
target_compile_options(${PROJECT_NAME} PUBLIC ${COMPILER_WARNINGS} ${COMPILER_FEATURES} ${COMPILER_OPTIONAL_WARNINGS} PRIVATE ${STATIC_FEATURES})
target_include_directories(${PROJECT_NAME} PUBLIC ${COMPILER_INCLUDE_DIRS})
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}-static)
add_library(${PROJECT_NAME}_shared SHARED ${BOTAN_SOURCES})
-target_link_libraries(${PROJECT_NAME}_shared PUBLIC %{cmake_libs_used})
+target_link_libraries(${PROJECT_NAME}_shared PUBLIC %{cmake_link_to})
target_compile_options(${PROJECT_NAME}_shared PUBLIC ${COMPILER_WARNINGS} ${COMPILER_FEATURES} ${COMPILER_OPTIONAL_WARNINGS} PRIVATE ${SHARED_FEATURES})
target_include_directories(${PROJECT_NAME}_shared PUBLIC ${COMPILER_INCLUDE_DIRS})
set_target_properties(${PROJECT_NAME}_shared PROPERTIES OUTPUT_NAME ${PROJECT_NAME})