From ec5277b58dc3266debe5dbcd478385da3f3a1592 Mon Sep 17 00:00:00 2001 From: Bart van Strien Date: Tue, 30 Jan 2024 17:17:18 +0100 Subject: [PATCH 1/2] Fix cmake install target on windows Install the dll to the bin directory, instead of a non-existent CMAKE_INSTALL_RUNTIMEDIR. --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f895d66..b1121e2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -62,7 +62,7 @@ if (JSON_VALIDATOR_INSTALL) NAMELINK_COMPONENT nlohmann_json_schema_validator_Development ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Development PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nlohmann COMPONENT nlohmann_json_schema_validator_Development - RUNTIME DESTINATION ${CMAKE_INSTALL_RUNTIMEDIR} COMPONENT nlohmann_json_schema_validator_Runtime) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT nlohmann_json_schema_validator_Runtime) else () install(TARGETS nlohmann_json_schema_validator EXPORT nlohmann_json_schema_validatorTargets From e1f2b1fc00cb28769d90c298b971a2861ef6468d Mon Sep 17 00:00:00 2001 From: Bart van Strien Date: Wed, 31 Jan 2024 09:46:20 +0100 Subject: [PATCH 2/2] Combine install targets The only difference was the `RUNTIME DESTINATION` for windows. Since that is set to the default path, they can use the same definition. --- src/CMakeLists.txt | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b1121e2..7848554 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -54,21 +54,11 @@ target_link_libraries(nlohmann_json_schema_validator PUBLIC if (JSON_VALIDATOR_INSTALL) # Normal installation target to system. When using scikit-build check python subdirectory - if (WIN32) - # TODO: Probably wrong, please fix - install(TARGETS nlohmann_json_schema_validator - EXPORT nlohmann_json_schema_validatorTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Runtime - NAMELINK_COMPONENT nlohmann_json_schema_validator_Development - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nlohmann COMPONENT nlohmann_json_schema_validator_Development - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT nlohmann_json_schema_validator_Runtime) - else () - install(TARGETS nlohmann_json_schema_validator - EXPORT nlohmann_json_schema_validatorTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Runtime - NAMELINK_COMPONENT nlohmann_json_schema_validator_Development - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nlohmann COMPONENT nlohmann_json_schema_validator_Development) - endif () + install(TARGETS nlohmann_json_schema_validator + EXPORT nlohmann_json_schema_validatorTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Runtime + NAMELINK_COMPONENT nlohmann_json_schema_validator_Development + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT nlohmann_json_schema_validator_Development + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nlohmann COMPONENT nlohmann_json_schema_validator_Development + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT nlohmann_json_schema_validator_Runtime) endif ()