diff --git a/cmake/modules/AppTarget.cmake b/cmake/modules/AppTarget.cmake index a0d9af9..5a9f05f 100644 --- a/cmake/modules/AppTarget.cmake +++ b/cmake/modules/AppTarget.cmake @@ -56,13 +56,17 @@ target_compile_options( PRIVATE "${META_PRIVATE_COMPILE_OPTIONS}") set_target_properties( ${META_TARGET_NAME} - PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}" - C_VISIBILITY_PRESET hidden + PROPERTIES C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET hidden LINK_SEARCH_START_STATIC ${STATIC_LINKAGE} LINK_SEARCH_END_STATIC ${STATIC_LINKAGE} AUTOGEN_TARGET_DEPENDS "${AUTOGEN_DEPS}" QT_DEFAULT_PLUGINS "${META_QT_DEFAULT_PLUGINS}") +if (NOT META_CXX_STANDARD STREQUAL "any") + set_target_properties( + ${META_TARGET_NAME} + PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}") +endif () # set properties for macOS bundle and generate icon for macOS bundle if (GUI_TYPE STREQUAL "MACOSX_BUNDLE") diff --git a/cmake/modules/LibraryTarget.cmake b/cmake/modules/LibraryTarget.cmake index 27503e8..69110ef 100644 --- a/cmake/modules/LibraryTarget.cmake +++ b/cmake/modules/LibraryTarget.cmake @@ -160,13 +160,17 @@ else () ${META_TARGET_NAME} PROPERTIES VERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}" SOVERSION "${META_SOVERSION}" - CXX_STANDARD "${META_CXX_STANDARD}" C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET hidden LINK_SEARCH_START_STATIC ${STATIC_LINKAGE} LINK_SEARCH_END_STATIC ${STATIC_LINKAGE} AUTOGEN_TARGET_DEPENDS "${AUTOGEN_DEPS}" QT_DEFAULT_PLUGINS "${META_QT_DEFAULT_PLUGINS}") + if (NOT META_CXX_STANDARD STREQUAL "any") + set_target_properties( + ${META_TARGET_NAME} + PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}") + endif () if (META_PLUGIN_CATEGORY) set_target_properties(${META_TARGET_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${META_PLUGIN_CATEGORY}") endif () @@ -235,8 +239,12 @@ if (META_HEADER_ONLY_LIB) ${META_TARGET_NAME}_interface_sources_for_qtcreator PROPERTIES VERSION "${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}" SOVERSION "${META_SOVERSION}" - CXX_STANDARD "${META_CXX_STANDARD}" AUTOGEN_TARGET_DEPENDS "${AUTOGEN_DEPS}") + if (NOT META_CXX_STANDARD STREQUAL "any") + set_target_properties( + ${META_TARGET_NAME}_interface_sources_for_qtcreator + PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}") + endif () endif () # generate CMake code to configure additional arguments for required CMake-packages diff --git a/cmake/modules/TestTarget.cmake b/cmake/modules/TestTarget.cmake index 336671a..6110c41 100644 --- a/cmake/modules/TestTarget.cmake +++ b/cmake/modules/TestTarget.cmake @@ -115,12 +115,16 @@ if (META_PROJECT_IS_APPLICATION AND LINK_TESTS_AGAINST_APP_TARGET) PRIVATE "${META_PRIVATE_COMPILE_OPTIONS}") set_target_properties( ${META_TARGET_NAME}_testlib - PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}" - C_VISIBILITY_PRESET default + PROPERTIES C_VISIBILITY_PRESET default CXX_VISIBILITY_PRESET default LINK_SEARCH_START_STATIC ${STATIC_LINKAGE} LINK_SEARCH_END_STATIC ${STATIC_LINKAGE} AUTOGEN_TARGET_DEPENDS "${AUTOGEN_DEPS}") + if (NOT META_CXX_STANDARD STREQUAL "any") + set_target_properties( + ${META_TARGET_NAME}_testlib + PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}") + endif () if (CPP_UNIT_CONFIG_${META_PROJECT_NAME}_FOUND) target_include_directories(${META_TARGET_NAME}_testlib PRIVATE "${CPP_UNIT_CONFIG_${META_PROJECT_NAME}_INCLUDE_DIRS}") diff --git a/cmake/modules/TestUtilities.cmake b/cmake/modules/TestUtilities.cmake index 0c9c243..230a728 100644 --- a/cmake/modules/TestUtilities.cmake +++ b/cmake/modules/TestUtilities.cmake @@ -62,11 +62,15 @@ function (configure_test_target) PRIVATE "${META_PRIVATE_COMPILE_OPTIONS}") set_target_properties( "${TEST_TARGET_NAME}" - PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}" - C_VISIBILITY_PRESET hidden + PROPERTIES C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET hidden LINK_SEARCH_START_STATIC ${STATIC_LINKAGE} LINK_SEARCH_END_STATIC ${STATIC_LINKAGE}) + if (NOT META_CXX_STANDARD STREQUAL "any") + set_target_properties( + "${TEST_TARGET_NAME}" + PROPERTIES CXX_STANDARD "${META_CXX_STANDARD}") + endif () # make the test recognized by ctest if (NOT ARGS_MANUAL)