From d2caceb1f35f587614ab0914d976fdbce77d41dc Mon Sep 17 00:00:00 2001 From: carlocorradini Date: Wed, 11 Oct 2023 12:24:31 +0200 Subject: [PATCH] fix: cmake install and possible conflicting options --- .github/workflows/check.yaml | 2 +- .vscode/settings.json | 7 ++- CMakeLists.txt | 70 +++++++++++++--------- README.md | 12 ++-- cmake/KDISConfig.cmake.in | 1 + examples/extending/factory_decoder/CMakeLists.txt | 8 +-- examples/extending/link16/CMakeLists.txt | 15 +++-- examples/extending/set_data_pdu/CMakeLists.txt | 10 ++-- examples/logging/playback/CMakeLists.txt | 8 +-- examples/logging/record/CMakeLists.txt | 10 ++-- .../connection_address_filter/CMakeLists.txt | 14 ++--- examples/pdu/bundle/CMakeLists.txt | 12 ++-- examples/pdu/entity_state_pdu/CMakeLists.txt | 10 ++-- .../pdu/environmental_process_pdu/CMakeLists.txt | 10 ++-- examples/pdu/pdu_factory_1/CMakeLists.txt | 10 ++-- examples/pdu/pdu_factory_2/CMakeLists.txt | 10 ++-- scripts/check.sh | 4 +- tests/CMakeLists.txt | 10 ++-- 18 files changed, 118 insertions(+), 105 deletions(-) create mode 100644 cmake/KDISConfig.cmake.in diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index bdf1d04..a9bd229 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -79,7 +79,7 @@ jobs: uses: ssciwr/doxygen-install@v1 - name: Configure CMake - run: cmake -S . -B ./build -DCMAKE_BUILD_TYPE:STRING=${{ matrix.build }} -DDIS_VERSION:STRING=${{ matrix.dis }} -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_DOCS:BOOL=ON -DBUILD_EXAMPLES:BOOL=ON -DBUILD_TESTS:BOOL=ON + run: cmake -S . -B ./build -DCMAKE_BUILD_TYPE:STRING=${{ matrix.build }} -DDIS_VERSION:STRING=${{ matrix.dis }} -DBUILD_SHARED_LIBS:BOOL=OFF -DKDIS_BUILD_DOCS:BOOL=ON -DKDIS_BUILD_EXAMPLES:BOOL=ON -DKDIS_BUILD_TESTS:BOOL=ON - name: Build run: cmake --build ./build --config ${{ matrix.build }} diff --git a/.vscode/settings.json b/.vscode/settings.json index 6ec7db1..d6e0622 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,15 +1,16 @@ { "editor.formatOnSave": true, "cmake.configureSettings": { - "BUILD_DOCS": true, - "BUILD_EXAMPLES": true, - "BUILD_TESTS": true + "KDIS_BUILD_DOCS": true, + "KDIS_BUILD_EXAMPLES": true, + "KDIS_BUILD_TESTS": true }, "files.associations": { ".clang-format": "yaml", ".clang-format-ignore": "ignore", ".clang-tidy": "yaml", ".cmake-format": "yaml", + "*.cmake.in": "cmake", "cppcheck.cppcheck": "xml", "CPPLINT.cfg": "properties", "Doxyfile.in": "doxyfile", diff --git a/CMakeLists.txt b/CMakeLists.txt index b7d1254..7fce01d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,10 +36,10 @@ option( "Enumeration descriptors. Allow enum values to be turned into their text labels. This increase the memory footprint of the library" ON ) +option(KDIS_BUILD_DOCS "Build documentation" OFF) +option(KDIS_BUILD_EXAMPLES "Build examples" OFF) +option(KDIS_BUILD_TESTS "Build tests" OFF) option(BUILD_SHARED_LIBS "Build shared library" ON) -option(BUILD_DOCS "Build documentation" OFF) -option(BUILD_EXAMPLES "Build examples" OFF) -option(BUILD_TESTS "Build tests" OFF) # # Checks @@ -56,6 +56,8 @@ endif() # include(CPM) include(GNUInstallDirs) +include(GenerateExportHeader) +include(CMakePackageConfigHelpers) # # Configuration file @@ -888,59 +890,73 @@ list(APPEND KDIS_SOURCES ${KDIS_NETWORK_SOURCES_DIR}/Connection.cpp # # Library # -add_library(${CMAKE_PROJECT_NAME} ${KDIS_SOURCES}) -add_library(${CMAKE_PROJECT_NAME}::${CMAKE_PROJECT_NAME} ALIAS ${CMAKE_PROJECT_NAME}) +add_library(${PROJECT_NAME} ${KDIS_SOURCES}) +add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) # Export header -include(GenerateExportHeader) generate_export_header( - ${CMAKE_PROJECT_NAME} EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR}/include/KDIS/KExport.hpp + ${PROJECT_NAME} EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR}/include/KDIS/KExport.hpp INCLUDE_GUARD_NAME KDIS_KEXPORT_HPP_ ) list(APPEND KDIS_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/KDIS/KExport.hpp) # Include directories target_include_directories( - ${CMAKE_PROJECT_NAME} + ${PROJECT_NAME} PUBLIC $ $ $ ) # Compile definitions target_compile_definitions( - ${CMAKE_PROJECT_NAME} PRIVATE DIS_VERSION=${DIS_VERSION} - $<$:KDIS_USE_ENUM_DESCRIPTORS> + ${PROJECT_NAME} PRIVATE DIS_VERSION=${DIS_VERSION} + $<$:KDIS_USE_ENUM_DESCRIPTORS> ) # Properties -set_target_properties( - ${CMAKE_PROJECT_NAME} PROPERTIES VERSION ${CMAKE_PROJECT_VERSION} DEBUG_POSTFIX "d" +set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} DEBUG_POSTFIX "d") +# TODO Compile options target_compile_options( ${PROJECT_NAME} PRIVATE $<$:/W4 +# /WX> $<$>:-Wall -Wextra -Wpedantic -Werror> ) + +# +# Configuration +# +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} +) +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion ) -# TODO Compile options target_compile_options( ${CMAKE_PROJECT_NAME} PRIVATE -# $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic -# -Werror> ) # # Install # -install(FILES ${KDIS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/KDIS) +install(FILES ${KDIS_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} +) install( - TARGETS KDIS - EXPORT KDISTargets + TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) install( - EXPORT KDISTargets - NAMESPACE KDIS:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/KDIS + EXPORT ${PROJECT_NAME}Targets + NAMESPACE ${PROJECT_NAME}:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ) # # CPack # set(CPACK_GENERATOR DEB RPM TXZ TGZ) -set(CPACK_PACKAGE_VERSION ${CMAKE_PROJECT_VERSION}) -set(CPACK_PACKAGE_NAME KDIS) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CMAKE_PROJECT_DESCRIPTION}) +set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) +set(CPACK_PACKAGE_NAME ${PROJECT_NAME}) +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_DESCRIPTION}) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.${CMAKE_SYSTEM_PROCESSOR}" ) @@ -951,20 +967,20 @@ include(CPack) # # Documentation # -if(${BUILD_DOCS}) +if(${KDIS_BUILD_DOCS}) add_subdirectory(docs) endif() # # Examples # -if(${BUILD_EXAMPLES}) +if(${KDIS_BUILD_EXAMPLES}) add_subdirectory(examples) endif() # # Tests # -if(${BUILD_TESTS}) +if(${KDIS_BUILD_TESTS}) add_subdirectory(tests) endif() diff --git a/README.md b/README.md index 5be4406..92d947f 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,10 @@ See [CONTRIBUTING](./CONTRIBUTING.md) guidelines | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------- | | `DIS_VERSION` | `DIS` version:
  • `5`
    _IEEE 1278.1-1995_
  • `6`
    _IEEE 1278.1A-1998_
  • `7`
    _IEEE 1278.1x-2012_
| `STRING` | `7` | | `KDIS_USE_ENUM_DESCRIPTORS` | Enumeration descriptors.
Allow `enum` values to be turned into their text labels.
:warning: Increase the memory footprint of the library | `BOOL` | `ON` | +| `KDIS_BUILD_DOCS` | Build documentation | `BOOL` | `OFF` | +| `KDIS_BUILD_EXAMPLES` | Build examples | `BOOL` | `OFF` | +| `KDIS_BUILD_TESTS` | Build tests | `BOOL` | `OFF` | | `BUILD_SHARED_LIBS` | Build shared library | `BOOL` | `ON` | -| `BUILD_DOCS` | Build documentation | `BOOL` | `OFF` | -| `BUILD_EXAMPLES` | Build examples | `BOOL` | `OFF` | -| `BUILD_TESTS` | Build tests | `BOOL` | `OFF` | ### Build @@ -71,7 +71,7 @@ See [CONTRIBUTING](./CONTRIBUTING.md) guidelines ## Documentation > [!IMPORTANT] -> `BUILD_DOCS:BOOL=TRUE` required +> `KDIS_BUILD_DOCS:BOOL=TRUE` required File `index.html` available under [`build/docs/html`](./build/docs/html) directory @@ -80,7 +80,7 @@ More information can be found in [`docs/README.md`](./docs/README.md) ## Examples > [!IMPORTANT] -> `BUILD_EXAMPLES:BOOL=TRUE` required +> `KDIS_BUILD_EXAMPLES:BOOL=TRUE` required More information can be found in [`examples/README.md`](./examples/README.md) @@ -91,7 +91,7 @@ More information can be found in [`scripts/README.md`](./scripts/README.md) ## Tests > [!IMPORTANT] -> `BUILD_TESTS:BOOL=TRUE` required +> `KDIS_BUILD_TESTS:BOOL=TRUE` required > [!NOTE] > Change value of `--build-config` to match value of `CMAKE_BUILD_TYPE` diff --git a/cmake/KDISConfig.cmake.in b/cmake/KDISConfig.cmake.in new file mode 100644 index 0000000..a18cb7d --- /dev/null +++ b/cmake/KDISConfig.cmake.in @@ -0,0 +1 @@ +@PACKAGE_INIT@ diff --git a/examples/extending/factory_decoder/CMakeLists.txt b/examples/extending/factory_decoder/CMakeLists.txt index fb4d2b1..25062c1 100644 --- a/examples/extending/factory_decoder/CMakeLists.txt +++ b/examples/extending/factory_decoder/CMakeLists.txt @@ -13,16 +13,16 @@ set(KDIS_EXAMPLES_EXTENDING_FACTORY_DECODER_SOURCES # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_extending_factory_decoder + ${PROJECT_NAME}_examples_extending_factory_decoder ${KDIS_EXAMPLES_EXTENDING_FACTORY_DECODER_HEADERS} ${KDIS_EXAMPLES_EXTENDING_FACTORY_DECODER_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_extending_factory_decoder PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_extending_factory_decoder PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_extending_factory_decoder + ${PROJECT_NAME}_examples_extending_factory_decoder PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_extending_factory_decoder PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_extending_factory_decoder PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/extending/link16/CMakeLists.txt b/examples/extending/link16/CMakeLists.txt index 3b4f856..0e69249 100644 --- a/examples/extending/link16/CMakeLists.txt +++ b/examples/extending/link16/CMakeLists.txt @@ -26,27 +26,26 @@ list( # # Library # -add_library(${CMAKE_PROJECT_NAME}_examples_extending_link16 ${KDIS_HEADERS} ${KDIS_SOURCES}) +add_library(${PROJECT_NAME}_examples_extending_link16 ${KDIS_HEADERS} ${KDIS_SOURCES}) add_library( - ${CMAKE_PROJECT_NAME}_examples_extending_link16::${CMAKE_PROJECT_NAME}_examples_extending_link16 - ALIAS ${CMAKE_PROJECT_NAME}_examples_extending_link16 + ${PROJECT_NAME}_examples_extending_link16::${PROJECT_NAME}_examples_extending_link16 ALIAS + ${PROJECT_NAME}_examples_extending_link16 ) target_include_directories( - ${CMAKE_PROJECT_NAME}_examples_extending_link16 + ${PROJECT_NAME}_examples_extending_link16 PUBLIC $ $ $ $:KDIS_USE_ENUM_DESCRIPTORS> ) # TODO RT library in UNIX (NOT APPLE) TODO target_compile_options( -# ${CMAKE_PROJECT_NAME}_examples_extending_link16 PRIVATE $<$:/W4 /WX> +# ${PROJECT_NAME}_examples_extending_link16 PRIVATE $<$:/W4 /WX> # $<$>:-Wall -Wextra -Wpedantic -Werror> ) set_target_properties( - ${CMAKE_PROJECT_NAME}_examples_extending_link16 PROPERTIES VERSION ${CMAKE_PROJECT_VERSION} - DEBUG_POSTFIX "d" + ${PROJECT_NAME}_examples_extending_link16 PROPERTIES VERSION ${PROJECT_VERSION} DEBUG_POSTFIX "d" ) diff --git a/examples/extending/set_data_pdu/CMakeLists.txt b/examples/extending/set_data_pdu/CMakeLists.txt index 8dbb8de..7593479 100644 --- a/examples/extending/set_data_pdu/CMakeLists.txt +++ b/examples/extending/set_data_pdu/CMakeLists.txt @@ -13,15 +13,15 @@ set(KDIS_EXAMPLES_EXTENDING_SET_DATA_PDU_SOURCES # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_extending_set_data_pdu - ${KDIS_EXAMPLES_EXTENDING_SET_DATA_PDU_HEADERS} ${KDIS_EXAMPLES_EXTENDING_SET_DATA_PDU_SOURCES} + ${PROJECT_NAME}_examples_extending_set_data_pdu ${KDIS_EXAMPLES_EXTENDING_SET_DATA_PDU_HEADERS} + ${KDIS_EXAMPLES_EXTENDING_SET_DATA_PDU_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_extending_set_data_pdu PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_extending_set_data_pdu PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_extending_set_data_pdu + ${PROJECT_NAME}_examples_extending_set_data_pdu PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_extending_set_data_pdu PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_extending_set_data_pdu PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/logging/playback/CMakeLists.txt b/examples/logging/playback/CMakeLists.txt index aecbf82..9fc5d57 100644 --- a/examples/logging/playback/CMakeLists.txt +++ b/examples/logging/playback/CMakeLists.txt @@ -11,15 +11,15 @@ set(KDIS_EXAMPLES_LOGGING_PLAYBACK_SOURCES ${KDIS_EXAMPLES_LOGGING_PLAYBACK_SOUR # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_logging_playback ${KDIS_EXAMPLES_LOGGING_PLAYBACK_HEADERS} + ${PROJECT_NAME}_examples_logging_playback ${KDIS_EXAMPLES_LOGGING_PLAYBACK_HEADERS} ${KDIS_EXAMPLES_LOGGING_PLAYBACK_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_logging_playback PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_logging_playback PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_logging_playback + ${PROJECT_NAME}_examples_logging_playback PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_logging_playback PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_logging_playback PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/logging/record/CMakeLists.txt b/examples/logging/record/CMakeLists.txt index 43a756c..9aff6e4 100644 --- a/examples/logging/record/CMakeLists.txt +++ b/examples/logging/record/CMakeLists.txt @@ -11,15 +11,15 @@ set(KDIS_EXAMPLES_LOGGING_RECORD_SOURCES ${KDIS_EXAMPLES_LOGGING_RECORD_SOURCES_ # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_logging_record ${KDIS_EXAMPLES_LOGGING_RECORD_HEADERS} - ${KDIS_EXAMPLES_LOGGING_RECORD_SOURCES} + ${PROJECT_NAME}_examples_logging_record ${KDIS_EXAMPLES_LOGGING_RECORD_HEADERS} + ${KDIS_EXAMPLES_LOGGING_RECORD_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_logging_record PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_logging_record PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_logging_record + ${PROJECT_NAME}_examples_logging_record PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_logging_record PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_logging_record PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/network/connection_address_filter/CMakeLists.txt b/examples/network/connection_address_filter/CMakeLists.txt index 8044157..569b9bc 100644 --- a/examples/network/connection_address_filter/CMakeLists.txt +++ b/examples/network/connection_address_filter/CMakeLists.txt @@ -13,18 +13,16 @@ set(KDIS_EXAMPLES_NETWORK_CONNECTION_ADDRESS_FILTER_SOURCES # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_network_connection_address_filter + ${PROJECT_NAME}_examples_network_connection_address_filter ${KDIS_EXAMPLES_NETWORK_CONNECTION_ADDRESS_FILTER_HEADERS} ${KDIS_EXAMPLES_NETWORK_CONNECTION_ADDRESS_FILTER_SOURCES} ) -target_link_libraries( - ${CMAKE_PROJECT_NAME}_examples_network_connection_address_filter PRIVATE KDIS::KDIS -) +target_link_libraries(${PROJECT_NAME}_examples_network_connection_address_filter PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_network_connection_address_filter + ${PROJECT_NAME}_examples_network_connection_address_filter PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_network_connection_address_filter -# PRIVATE $<$:/W4 /WX> $<$>:-Wall -Wextra -# -Wpedantic -Werror> ) +# TODO target_compile_options( ${PROJECT_NAME}_examples_network_connection_address_filter PRIVATE +# $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic +# -Werror> ) diff --git a/examples/pdu/bundle/CMakeLists.txt b/examples/pdu/bundle/CMakeLists.txt index ac29e8d..da1e8eb 100644 --- a/examples/pdu/bundle/CMakeLists.txt +++ b/examples/pdu/bundle/CMakeLists.txt @@ -11,18 +11,18 @@ set(KDIS_EXAMPLES_PDU_BUNDLE_SOURCES ${KDIS_EXAMPLES_PDU_BUNDLE_SOURCES_DIR}/mai # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_pdu_bundle ${KDIS_EXAMPLES_PDU_BUNDLE_HEADERS} - ${KDIS_EXAMPLES_PDU_BUNDLE_SOURCES} + ${PROJECT_NAME}_examples_pdu_bundle ${KDIS_EXAMPLES_PDU_BUNDLE_HEADERS} + ${KDIS_EXAMPLES_PDU_BUNDLE_SOURCES} ) target_include_directories( - ${CMAKE_PROJECT_NAME}_examples_pdu_bundle PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include + ${PROJECT_NAME}_examples_pdu_bundle PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_pdu_bundle PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_pdu_bundle PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_pdu_bundle + ${PROJECT_NAME}_examples_pdu_bundle PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_pdu_bundle PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_pdu_bundle PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/pdu/entity_state_pdu/CMakeLists.txt b/examples/pdu/entity_state_pdu/CMakeLists.txt index 0fc9058..ffbb3ae 100644 --- a/examples/pdu/entity_state_pdu/CMakeLists.txt +++ b/examples/pdu/entity_state_pdu/CMakeLists.txt @@ -13,15 +13,15 @@ set(KDIS_EXAMPLES_PDU_ENTITY_STATE_PDU_SOURCES # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_pdu_entity_state_pdu ${KDIS_EXAMPLES_PDU_ENTITY_STATE_PDU_HEADERS} - ${KDIS_EXAMPLES_PDU_ENTITY_STATE_PDU_SOURCES} + ${PROJECT_NAME}_examples_pdu_entity_state_pdu ${KDIS_EXAMPLES_PDU_ENTITY_STATE_PDU_HEADERS} + ${KDIS_EXAMPLES_PDU_ENTITY_STATE_PDU_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_pdu_entity_state_pdu PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_pdu_entity_state_pdu PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_pdu_entity_state_pdu + ${PROJECT_NAME}_examples_pdu_entity_state_pdu PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_pdu_entity_state_pdu PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_pdu_entity_state_pdu PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/pdu/environmental_process_pdu/CMakeLists.txt b/examples/pdu/environmental_process_pdu/CMakeLists.txt index 79ebb34..3851636 100644 --- a/examples/pdu/environmental_process_pdu/CMakeLists.txt +++ b/examples/pdu/environmental_process_pdu/CMakeLists.txt @@ -13,18 +13,16 @@ set(KDIS_EXAMPLES_PDU_ENVIRONMENTAL_PROCESS_PDU_SOURCES # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_pdu_environmental_process_pdu + ${PROJECT_NAME}_examples_pdu_environmental_process_pdu ${KDIS_EXAMPLES_PDU_ENVIRONMENTAL_PROCESS_PDU_HEADERS} ${KDIS_EXAMPLES_PDU_ENVIRONMENTAL_PROCESS_PDU_SOURCES} ) -target_link_libraries( - ${CMAKE_PROJECT_NAME}_examples_pdu_environmental_process_pdu PRIVATE KDIS::KDIS -) +target_link_libraries(${PROJECT_NAME}_examples_pdu_environmental_process_pdu PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_pdu_environmental_process_pdu + ${PROJECT_NAME}_examples_pdu_environmental_process_pdu PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_pdu_environmental_process_pdu PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_pdu_environmental_process_pdu PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/pdu/pdu_factory_1/CMakeLists.txt b/examples/pdu/pdu_factory_1/CMakeLists.txt index bfe41ac..ec503ab 100644 --- a/examples/pdu/pdu_factory_1/CMakeLists.txt +++ b/examples/pdu/pdu_factory_1/CMakeLists.txt @@ -11,15 +11,15 @@ set(KDIS_EXAMPLES_PDU_PDU_FACTORY_1_SOURCES ${KDIS_EXAMPLES_PDU_PDU_FACTORY_1_SO # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_1 ${KDIS_EXAMPLES_PDU_PDU_FACTORY_1_HEADERS} - ${KDIS_EXAMPLES_PDU_PDU_FACTORY_1_SOURCES} + ${PROJECT_NAME}_examples_pdu_pdu_factory_1 ${KDIS_EXAMPLES_PDU_PDU_FACTORY_1_HEADERS} + ${KDIS_EXAMPLES_PDU_PDU_FACTORY_1_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_1 PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_pdu_pdu_factory_1 PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_1 + ${PROJECT_NAME}_examples_pdu_pdu_factory_1 PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_1 PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_pdu_pdu_factory_1 PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/examples/pdu/pdu_factory_2/CMakeLists.txt b/examples/pdu/pdu_factory_2/CMakeLists.txt index e0aaca7..ff8f35f 100644 --- a/examples/pdu/pdu_factory_2/CMakeLists.txt +++ b/examples/pdu/pdu_factory_2/CMakeLists.txt @@ -11,15 +11,15 @@ set(KDIS_EXAMPLES_PDU_PDU_FACTORY_2_SOURCES ${KDIS_EXAMPLES_PDU_PDU_FACTORY_2_SO # Executable # add_executable( - ${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_2 ${KDIS_EXAMPLES_PDU_PDU_FACTORY_2_HEADERS} - ${KDIS_EXAMPLES_PDU_PDU_FACTORY_2_SOURCES} + ${PROJECT_NAME}_examples_pdu_pdu_factory_2 ${KDIS_EXAMPLES_PDU_PDU_FACTORY_2_HEADERS} + ${KDIS_EXAMPLES_PDU_PDU_FACTORY_2_SOURCES} ) -target_link_libraries(${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_2 PRIVATE KDIS::KDIS) +target_link_libraries(${PROJECT_NAME}_examples_pdu_pdu_factory_2 PRIVATE KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_2 + ${PROJECT_NAME}_examples_pdu_pdu_factory_2 PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options( ${CMAKE_PROJECT_NAME}_examples_pdu_pdu_factory_2 PRIVATE +# TODO target_compile_options( ${PROJECT_NAME}_examples_pdu_pdu_factory_2 PRIVATE # $<$:/W4 /WX> $<$>:-Wall -Wextra -Wpedantic # -Werror> ) diff --git a/scripts/check.sh b/scripts/check.sh index 1f2001e..aa5399c 100644 --- a/scripts/check.sh +++ b/scripts/check.sh @@ -223,7 +223,7 @@ cmake_format() { find "$ROOTDIR" \ -not -path "$ROOTDIR/build/*" \ -not -path "$ROOTDIR/cmake/CPM.cmake" \ - -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \ + -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' -o -name '*.cmake.in' \) \ -print0 \ | xargs -0 -n 1 \ cmake-format \ @@ -236,7 +236,7 @@ cmake_lint() { find "$ROOTDIR" \ -not -path "$ROOTDIR/build/*" \ -not -path "$ROOTDIR/cmake/CPM.cmake" \ - -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \ + -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' -o -name '*.cmake.in' \) \ -print0 \ | xargs -0 -n 1 \ cmake-lint diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a794808..0f05915 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -34,13 +34,13 @@ include(GoogleTest) # Test # enable_testing() -add_executable(${CMAKE_PROJECT_NAME}_tests ${KDIS_TESTS_SOURCES}) -target_link_libraries(${CMAKE_PROJECT_NAME}_tests PRIVATE GTest::gtest_main KDIS::KDIS) +add_executable(${PROJECT_NAME}_tests ${KDIS_TESTS_SOURCES}) +target_link_libraries(${PROJECT_NAME}_tests PRIVATE GTest::gtest_main KDIS::KDIS) target_compile_definitions( - ${CMAKE_PROJECT_NAME}_tests + ${PROJECT_NAME}_tests PRIVATE DIS_VERSION=${DIS_VERSION} $<$:KDIS_USE_ENUM_DESCRIPTORS> ) -# TODO target_compile_options(${CMAKE_PROJECT_NAME}_tests PRIVATE $<$:/W4 /WX> +# TODO target_compile_options(${PROJECT_NAME}_tests PRIVATE $<$:/W4 /WX> # $<$>:-Wall -Wextra -Wpedantic -Werror> ) -gtest_discover_tests(${CMAKE_PROJECT_NAME}_tests) +gtest_discover_tests(${PROJECT_NAME}_tests) -- 2.11.4.GIT