From 9e8f84dff4575f01be02e0b07364efd1561ce66c Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Thu, 17 Sep 2020 20:18:08 -0400 Subject: [PATCH] cmake: use GNUInstallDirs --- ApacheConnector/CMakeLists.txt | 2 +- CMakeLists.txt | 5 ++++- CppParser/CMakeLists.txt | 2 +- CppUnit/CMakeLists.txt | 2 +- Crypto/CMakeLists.txt | 2 +- Data/CMakeLists.txt | 2 +- Data/MySQL/CMakeLists.txt | 2 +- Data/ODBC/CMakeLists.txt | 2 +- Data/PostgreSQL/CMakeLists.txt | 2 +- Data/SQLite/CMakeLists.txt | 2 +- Encodings/CMakeLists.txt | 2 +- Encodings/Compiler/CMakeLists.txt | 8 ++++---- Foundation/CMakeLists.txt | 2 +- JSON/CMakeLists.txt | 2 +- JWT/CMakeLists.txt | 2 +- MongoDB/CMakeLists.txt | 2 +- Net/CMakeLists.txt | 2 +- NetSSL_OpenSSL/CMakeLists.txt | 2 +- NetSSL_Win/CMakeLists.txt | 2 +- PDF/CMakeLists.txt | 2 +- PageCompiler/CMakeLists.txt | 8 ++++---- PageCompiler/File2Page/CMakeLists.txt | 8 ++++---- PocoDoc/CMakeLists.txt | 8 ++++---- Redis/CMakeLists.txt | 2 +- SevenZip/CMakeLists.txt | 2 +- Util/CMakeLists.txt | 2 +- XML/CMakeLists.txt | 2 +- Zip/CMakeLists.txt | 2 +- cmake/PocoMacros.cmake | 10 +++++----- 29 files changed, 48 insertions(+), 45 deletions(-) diff --git a/ApacheConnector/CMakeLists.txt b/ApacheConnector/CMakeLists.txt index 86d7210a5..544904fe2 100644 --- a/ApacheConnector/CMakeLists.txt +++ b/ApacheConnector/CMakeLists.txt @@ -14,7 +14,7 @@ set_target_properties(mod_poco target_include_directories(mod_poco PUBLIC $ - $ + $ PRIVATE ${APACHE2_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/src diff --git a/CMakeLists.txt b/CMakeLists.txt index acbe56696..f58dd0ad9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,9 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "RelWithDebInfo") endif() +# Enable standard installation directories +include(GNUInstallDirs) + # Include some common macros to simpilfy the Poco CMake files include(PocoMacros) @@ -433,7 +436,7 @@ write_basic_package_version_file( if(WIN32) set(PocoConfigPackageLocation "cmake") else() - set(PocoConfigPackageLocation "lib${LIB_SUFFIX}/cmake/${PROJECT_NAME}") + set(PocoConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") endif() configure_file(cmake/${PROJECT_NAME}Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake" @ONLY) diff --git a/CppParser/CMakeLists.txt b/CppParser/CMakeLists.txt index 7e41461e5..86ceca0c1 100644 --- a/CppParser/CMakeLists.txt +++ b/CppParser/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(CppParser PUBLIC Poco::Foundation) target_include_directories(CppParser PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/CppUnit/CMakeLists.txt b/CppUnit/CMakeLists.txt index c367bd2bb..68638ca7e 100644 --- a/CppUnit/CMakeLists.txt +++ b/CppUnit/CMakeLists.txt @@ -18,7 +18,7 @@ target_link_libraries(CppUnit PUBLIC Poco::Foundation) target_include_directories(CppUnit PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Crypto/CMakeLists.txt b/Crypto/CMakeLists.txt index 9204a91cb..0a3b620df 100644 --- a/Crypto/CMakeLists.txt +++ b/Crypto/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(Crypto PUBLIC Poco::Foundation OpenSSL::SSL OpenSSL::Crypt target_include_directories(Crypto PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt index 7d1e99ea9..0772af648 100644 --- a/Data/CMakeLists.txt +++ b/Data/CMakeLists.txt @@ -30,7 +30,7 @@ target_link_libraries(Data PUBLIC Poco::Foundation) target_include_directories(Data PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Data/MySQL/CMakeLists.txt b/Data/MySQL/CMakeLists.txt index f71b1453e..ce411cfea 100644 --- a/Data/MySQL/CMakeLists.txt +++ b/Data/MySQL/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(DataMySQL PUBLIC Poco::Data MySQL::client) target_include_directories(DataMySQL PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) target_compile_definitions(DataMySQL PUBLIC THREADSAFE NO_TCL) diff --git a/Data/ODBC/CMakeLists.txt b/Data/ODBC/CMakeLists.txt index 98cd133b8..764f6a501 100644 --- a/Data/ODBC/CMakeLists.txt +++ b/Data/ODBC/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(DataODBC PUBLIC Poco::Data ODBC::ODBC) target_include_directories(DataODBC PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) target_compile_definitions(DataODBC PUBLIC THREADSAFE) diff --git a/Data/PostgreSQL/CMakeLists.txt b/Data/PostgreSQL/CMakeLists.txt index f727fc0c7..d02c2f106 100644 --- a/Data/PostgreSQL/CMakeLists.txt +++ b/Data/PostgreSQL/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(DataPostgreSQL PUBLIC Poco::Data PostgreSQL::client) target_include_directories(DataPostgreSQL PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Data/SQLite/CMakeLists.txt b/Data/SQLite/CMakeLists.txt index b52e2c5c1..3a176d744 100644 --- a/Data/SQLite/CMakeLists.txt +++ b/Data/SQLite/CMakeLists.txt @@ -38,7 +38,7 @@ target_link_libraries(DataSQLite PUBLIC Poco::Data) target_include_directories(DataSQLite PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Encodings/CMakeLists.txt b/Encodings/CMakeLists.txt index 292062f89..0a484e2d7 100644 --- a/Encodings/CMakeLists.txt +++ b/Encodings/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(Encodings PUBLIC Poco::Foundation) target_include_directories(Encodings PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Encodings/Compiler/CMakeLists.txt b/Encodings/Compiler/CMakeLists.txt index 97eecfee4..67b7c2738 100644 --- a/Encodings/Compiler/CMakeLists.txt +++ b/Encodings/Compiler/CMakeLists.txt @@ -12,8 +12,8 @@ target_link_libraries(EncodingsCompiler PUBLIC Poco::Net Poco::Util) install( TARGETS EncodingsCompiler EXPORT "EncodingsCompilerTargets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt index 6b276bef5..79d4512eb 100644 --- a/Foundation/CMakeLists.txt +++ b/Foundation/CMakeLists.txt @@ -108,7 +108,7 @@ endif(POCO_UNBUNDLED) target_include_directories(Foundation PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/JSON/CMakeLists.txt b/JSON/CMakeLists.txt index bcbae095d..f8f478a4b 100644 --- a/JSON/CMakeLists.txt +++ b/JSON/CMakeLists.txt @@ -26,7 +26,7 @@ target_link_libraries(JSON PUBLIC Poco::Foundation) target_include_directories(JSON PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/JWT/CMakeLists.txt b/JWT/CMakeLists.txt index 524de978e..e4d756297 100644 --- a/JWT/CMakeLists.txt +++ b/JWT/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(JWT PUBLIC Poco::JSON Poco::Crypto) target_include_directories(JWT PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/MongoDB/CMakeLists.txt b/MongoDB/CMakeLists.txt index 7d9f9cd75..2d4cb08a8 100644 --- a/MongoDB/CMakeLists.txt +++ b/MongoDB/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(MongoDB PUBLIC Poco::Net) target_include_directories(MongoDB PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Net/CMakeLists.txt b/Net/CMakeLists.txt index 758d5c58e..eb56e7118 100644 --- a/Net/CMakeLists.txt +++ b/Net/CMakeLists.txt @@ -35,7 +35,7 @@ endif(WIN32) target_include_directories(Net PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/NetSSL_OpenSSL/CMakeLists.txt b/NetSSL_OpenSSL/CMakeLists.txt index fe2d4a796..d5e61b88c 100644 --- a/NetSSL_OpenSSL/CMakeLists.txt +++ b/NetSSL_OpenSSL/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(NetSSL PUBLIC Poco::Crypto Poco::Util Poco::Net) target_include_directories(NetSSL PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt index 3e2b5fff9..c6325eb4f 100644 --- a/NetSSL_Win/CMakeLists.txt +++ b/NetSSL_Win/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) target_include_directories(NetSSLWin PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt index 1188726b8..2c565ad17 100644 --- a/PDF/CMakeLists.txt +++ b/PDF/CMakeLists.txt @@ -139,7 +139,7 @@ target_link_libraries(PDF PUBLIC Poco::XML Poco::Util) target_include_directories(PDF PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/PageCompiler/CMakeLists.txt b/PageCompiler/CMakeLists.txt index c00110e80..27b57b971 100644 --- a/PageCompiler/CMakeLists.txt +++ b/PageCompiler/CMakeLists.txt @@ -14,8 +14,8 @@ target_link_libraries(PageCompiler PUBLIC Poco::Net Poco::Util) install( TARGETS PageCompiler EXPORT PageCompilerTargets - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) diff --git a/PageCompiler/File2Page/CMakeLists.txt b/PageCompiler/File2Page/CMakeLists.txt index b8eadc31d..5bc342b75 100644 --- a/PageCompiler/File2Page/CMakeLists.txt +++ b/PageCompiler/File2Page/CMakeLists.txt @@ -12,8 +12,8 @@ target_link_libraries(File2Page PUBLIC Poco::Util) install( TARGETS File2Page EXPORT File2PageTargets - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) diff --git a/PocoDoc/CMakeLists.txt b/PocoDoc/CMakeLists.txt index 92f37a936..87aa1d83e 100644 --- a/PocoDoc/CMakeLists.txt +++ b/PocoDoc/CMakeLists.txt @@ -8,8 +8,8 @@ target_link_libraries(PocoDoc PUBLIC Poco::Util Poco::XML Poco::CppParser) install( TARGETS PocoDoc EXPORT PocoDocTargets - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) diff --git a/Redis/CMakeLists.txt b/Redis/CMakeLists.txt index a93bfd960..875f49ab9 100644 --- a/Redis/CMakeLists.txt +++ b/Redis/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(Redis PUBLIC Poco::Net) target_include_directories(Redis PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/SevenZip/CMakeLists.txt b/SevenZip/CMakeLists.txt index 96ca10721..118ded71b 100644 --- a/SevenZip/CMakeLists.txt +++ b/SevenZip/CMakeLists.txt @@ -66,7 +66,7 @@ target_link_libraries(SevenZip PUBLIC Poco::Foundation) target_include_directories(SevenZip PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Util/CMakeLists.txt b/Util/CMakeLists.txt index c667d79e5..5f3f7c1fd 100644 --- a/Util/CMakeLists.txt +++ b/Util/CMakeLists.txt @@ -42,7 +42,7 @@ endif() target_include_directories(Util PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt index 4fbf06f96..123657a0c 100644 --- a/XML/CMakeLists.txt +++ b/XML/CMakeLists.txt @@ -45,7 +45,7 @@ target_link_libraries(XML PUBLIC Poco::Foundation) target_include_directories(XML PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/Zip/CMakeLists.txt b/Zip/CMakeLists.txt index c3a25fb41..abe577653 100644 --- a/Zip/CMakeLists.txt +++ b/Zip/CMakeLists.txt @@ -25,7 +25,7 @@ target_link_libraries(Zip PUBLIC Poco::Foundation) target_include_directories(Zip PUBLIC $ - $ + $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) diff --git a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake index 038779ec9..c7346e88b 100644 --- a/cmake/PocoMacros.cmake +++ b/cmake/PocoMacros.cmake @@ -233,7 +233,7 @@ configure_file("cmake/Poco${target_name}Config.cmake" if(WIN32) set(PocoConfigPackageLocation "cmake") else() - set(PocoConfigPackageLocation "lib${LIB_SUFFIX}/cmake/${PROJECT_NAME}") + set(PocoConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") endif() install( @@ -271,10 +271,10 @@ install( install( TARGETS "${target_name}" EXPORT "${target_name}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) if(MSVC)