From e77ac758d45b4180e879eb4692d81988b6b17c2e Mon Sep 17 00:00:00 2001 From: Remy Chibois Date: Sun, 14 Jul 2024 19:00:35 +0200 Subject: [PATCH] chore: new CMate YAML files --- cpp/CMakeLists.txt | 39 ++++++++++++++++------------- cpp/project.json | 10 -------- cpp/project.yaml | 8 ++++++ cpp/src/lib/messages/CMakeLists.txt | 8 +++--- cpp/src/lib/messages/link.json | 7 ------ cpp/src/lib/messages/link.yaml | 4 +++ 6 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 cpp/project.json create mode 100644 cpp/project.yaml delete mode 100644 cpp/src/lib/messages/link.json create mode 100644 cpp/src/lib/messages/link.yaml diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 11719689..4ec5b01e 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -4,27 +4,37 @@ project(cucumber_messages VERSION 0.1.0 LANGUAGES C CXX) include(GNUInstallDirs) -set(CMAKE_CXX_STANDARD 20) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) -set(CMAKE_POSITION_INDEPENDENT_CODE ON) - -if(WIN32) - add_definitions(-DUNICODE -D_UNICODE -DSTRICT -DNOMINMAX) - add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS) +if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + add_compile_definitions(_CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS) endif() -find_package(nlohmann_json CONFIG REQUIRED) +set(${CUCUMBER_MESSAGES_LOCAL_DEV} OFF) + +if(${CUCUMBER_MESSAGES_LOCAL_DEV}) + set(CUCUMBER_MESSAGES_BUILD_TESTS_INIT ON) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +else() + set(CUCUMBER_MESSAGES_BUILD_TESTS_INIT OFF) +endif() +option(CUCUMBER_MESSAGES_BUILD_TESTS "Build the unit tests." ${CUCUMBER_MESSAGES_BUILD_TESTS_INIT}) + + +find_package(nlohmann_json CONFIG REQUIRED) add_subdirectory(src/lib/messages) +if(CUCUMBER_MESSAGES_BUILD_TESTS) + include(CTest) + enable_testing() +endif() + install( TARGETS cucumber_messages_lib EXPORT cucumber_messages-config - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION \${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION \${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION \${CMAKE_INSTALL_LIBDIR} ) install( @@ -33,8 +43,3 @@ install( NAMESPACE cucumber:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cucumber_messages ) - -install( - DIRECTORY "${PROJECT_SOURCE_DIR}/include/messages/" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cucumber -) diff --git a/cpp/project.json b/cpp/project.json deleted file mode 100644 index fedef7b1..00000000 --- a/cpp/project.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "cucumber_messages", - "version": "0.1.0", - "namespace": "cucumber", - "packages": { - "cmake": [ - "nlohmann_json", - ] - } -} diff --git a/cpp/project.yaml b/cpp/project.yaml new file mode 100644 index 00000000..262544a1 --- /dev/null +++ b/cpp/project.yaml @@ -0,0 +1,8 @@ +--- +name: cucumber_messages +version: 0.1.0 +namespace: cucumber +std: 17 +packages: + cmake: + - nlohmann_json: diff --git a/cpp/src/lib/messages/CMakeLists.txt b/cpp/src/lib/messages/CMakeLists.txt index dcf77eb8..bca2c41f 100644 --- a/cpp/src/lib/messages/CMakeLists.txt +++ b/cpp/src/lib/messages/CMakeLists.txt @@ -2,11 +2,11 @@ add_library(cucumber_messages_lib) add_library(cucumber::messages ALIAS cucumber_messages_lib) set(CUCUMBER_MESSAGES_LIB_INC_DIR "${PROJECT_SOURCE_DIR}/include/messages") -file(GLOB_RECURSE CUCUMBER_MESSAGES_LIB_HEADERS ${CUCUMBER_MESSAGES_LIB_INC_DIR}/*.hpp) +file(GLOB_RECURSE CUCUMBER_MESSAGES_LIB_HEADERS "${CUCUMBER_MESSAGES_LIB_INC_DIR}/*.hpp") list(APPEND CUCUMBER_MESSAGES_LIB_ALL_SOURCES ${CUCUMBER_MESSAGES_LIB_HEADERS}) set(CUCUMBER_MESSAGES_LIB_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}") -file(GLOB_RECURSE CUCUMBER_MESSAGES_LIB_SOURCES ${CUCUMBER_MESSAGES_LIB_SRC_DIR}/*.[ch]pp) +file(GLOB_RECURSE CUCUMBER_MESSAGES_LIB_SOURCES "${CUCUMBER_MESSAGES_LIB_SRC_DIR}/*.[ch]pp") list(APPEND CUCUMBER_MESSAGES_LIB_ALL_SOURCES ${CUCUMBER_MESSAGES_LIB_SOURCES}) target_sources( @@ -19,7 +19,7 @@ target_include_directories( cucumber_messages_lib PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ) @@ -29,10 +29,10 @@ target_link_libraries( PUBLIC nlohmann_json::nlohmann_json ) - set_target_properties( cucumber_messages_lib PROPERTIES + CXX_STANDARD 17 VERSION 0.1.0 SOVERSION 0.1 EXPORT_NAME messages diff --git a/cpp/src/lib/messages/link.json b/cpp/src/lib/messages/link.json deleted file mode 100644 index e0048127..00000000 --- a/cpp/src/lib/messages/link.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "libs": { - "public": [ - "nlohmann_json::nlohmann_json" - ] - } -} diff --git a/cpp/src/lib/messages/link.yaml b/cpp/src/lib/messages/link.yaml new file mode 100644 index 00000000..6520006d --- /dev/null +++ b/cpp/src/lib/messages/link.yaml @@ -0,0 +1,4 @@ +--- +libs: + public: + - nlohmann_json::nlohmann_json