diff --git a/CppParser/CMakeLists.txt b/CppParser/CMakeLists.txt index 3423906c8..fe52d3a42 100644 --- a/CppParser/CMakeLists.txt +++ b/CppParser/CMakeLists.txt @@ -26,24 +26,10 @@ target_include_directories( "${LIBNAME}" PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) - -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(testsuite) + add_subdirectory(testsuite) endif () diff --git a/Crypto/CMakeLists.txt b/Crypto/CMakeLists.txt index 507c573e9..7f4c2621b 100644 --- a/Crypto/CMakeLists.txt +++ b/Crypto/CMakeLists.txt @@ -27,24 +27,11 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt index b70c1075c..e96cf3eb5 100644 --- a/Data/CMakeLists.txt +++ b/Data/CMakeLists.txt @@ -34,54 +34,41 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if(ENABLE_DATA_SQLITE) -# SQlite3 is built in any case -add_subdirectory( SQLite ) + # SQlite3 is built in any case + add_subdirectory( SQLite ) endif(ENABLE_DATA_SQLITE) if(ENABLE_DATA_MYSQL) -find_package(MySQL) -if(MYSQL_FOUND) - include_directories("${MYSQL_INCLUDE_DIR}") - message(STATUS "MySQL Support Enabled") - add_subdirectory( MySQL ) -else() - message(STATUS "MySQL Support Disabled - no MySQL library") -endif(MYSQL_FOUND) + find_package(MySQL) + if(MYSQL_FOUND) + include_directories("${MYSQL_INCLUDE_DIR}") + message(STATUS "MySQL Support Enabled") + add_subdirectory( MySQL ) + else() + message(STATUS "MySQL Support Disabled - no MySQL library") + endif(MYSQL_FOUND) endif(ENABLE_DATA_MYSQL) if(ENABLE_DATA_ODBC) -find_package(ODBC) -if(WIN32 AND NOT WINCE) - set(ODBC_LIBRARIES "odbc32" "odbccp32") - message(STATUS "Windows native ODBC Support Enabled") - add_subdirectory( ODBC ) -else(WIN32 AND NOT WINCE) - if(ODBC_FOUND) - include_directories("${ODBC_INCLUDE_DIRECTORIES}") - message(STATUS "ODBC Support Enabled") + find_package(ODBC) + if(WIN32 AND NOT WINCE) + set(ODBC_LIBRARIES "odbc32" "odbccp32") + message(STATUS "Windows native ODBC Support Enabled") add_subdirectory( ODBC ) - else() - message(STATUS "ODBC Support Disabled - no ODBC runtime") - endif() -endif(WIN32 AND NOT WINCE) + else(WIN32 AND NOT WINCE) + if(ODBC_FOUND) + include_directories("${ODBC_INCLUDE_DIRECTORIES}") + message(STATUS "ODBC Support Enabled") + add_subdirectory( ODBC ) + else() + message(STATUS "ODBC Support Disabled - no ODBC runtime") + endif() + endif(WIN32 AND NOT WINCE) endif(ENABLE_DATA_ODBC) if (ENABLE_TESTS) diff --git a/Data/MySQL/CMakeLists.txt b/Data/MySQL/CMakeLists.txt index 87a572168..254135be5 100644 --- a/Data/MySQL/CMakeLists.txt +++ b/Data/MySQL/CMakeLists.txt @@ -27,22 +27,9 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) add_subdirectory(testsuite) diff --git a/Data/ODBC/CMakeLists.txt b/Data/ODBC/CMakeLists.txt index 007dc8661..eb29288a8 100644 --- a/Data/ODBC/CMakeLists.txt +++ b/Data/ODBC/CMakeLists.txt @@ -27,22 +27,9 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) add_subdirectory(testsuite) diff --git a/Data/SQLite/CMakeLists.txt b/Data/SQLite/CMakeLists.txt index 559303f24..a7a5bf574 100644 --- a/Data/SQLite/CMakeLists.txt +++ b/Data/SQLite/CMakeLists.txt @@ -48,22 +48,9 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) add_subdirectory(testsuite) diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt index 8d677cc17..c1dd25ff4 100644 --- a/Foundation/CMakeLists.txt +++ b/Foundation/CMakeLists.txt @@ -121,22 +121,8 @@ target_include_directories( "${LIBNAME}" PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) - -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) add_subdirectory( samples ) diff --git a/JSON/CMakeLists.txt b/JSON/CMakeLists.txt index 7e314a0cc..e5746a628 100644 --- a/JSON/CMakeLists.txt +++ b/JSON/CMakeLists.txt @@ -26,25 +26,11 @@ target_include_directories( "${LIBNAME}" PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) - -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/MongoDB/CMakeLists.txt b/MongoDB/CMakeLists.txt index 03e1fbcb9..5b95e6254 100644 --- a/MongoDB/CMakeLists.txt +++ b/MongoDB/CMakeLists.txt @@ -25,25 +25,12 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/Net/CMakeLists.txt b/Net/CMakeLists.txt index 3a3969dc1..af19c0487 100644 --- a/Net/CMakeLists.txt +++ b/Net/CMakeLists.txt @@ -34,25 +34,12 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/NetSSL_OpenSSL/CMakeLists.txt b/NetSSL_OpenSSL/CMakeLists.txt index 0ad6a67f1..f6a40c68d 100644 --- a/NetSSL_OpenSSL/CMakeLists.txt +++ b/NetSSL_OpenSSL/CMakeLists.txt @@ -25,25 +25,12 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt index c5b41de63..355f49baf 100644 --- a/NetSSL_Win/CMakeLists.txt +++ b/NetSSL_Win/CMakeLists.txt @@ -25,26 +25,13 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - #TODO: Looks like the samples use crypto somehow? - #add_subdirectory(samples) - #add_subdirectory(testsuite) + #TODO: Looks like the samples use crypto somehow? + #add_subdirectory(samples) + #add_subdirectory(testsuite) endif () diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt index fbca89940..46f538d77 100644 --- a/PDF/CMakeLists.txt +++ b/PDF/CMakeLists.txt @@ -130,25 +130,12 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/PageCompiler/CMakeLists.txt b/PageCompiler/CMakeLists.txt index a7a60bb74..3a55c5575 100644 --- a/PageCompiler/CMakeLists.txt +++ b/PageCompiler/CMakeLists.txt @@ -19,5 +19,3 @@ install( RUNTIME DESTINATION bin INCLUDES DESTINATION include ) - -#POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") diff --git a/PageCompiler/File2Page/CMakeLists.txt b/PageCompiler/File2Page/CMakeLists.txt index 9ab634dd8..cb6d9694b 100644 --- a/PageCompiler/File2Page/CMakeLists.txt +++ b/PageCompiler/File2Page/CMakeLists.txt @@ -19,5 +19,3 @@ install( RUNTIME DESTINATION bin INCLUDES DESTINATION include ) - -#POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") diff --git a/PocoDoc/CMakeLists.txt b/PocoDoc/CMakeLists.txt index 80e49d39d..824168c08 100644 --- a/PocoDoc/CMakeLists.txt +++ b/PocoDoc/CMakeLists.txt @@ -15,5 +15,3 @@ install( RUNTIME DESTINATION bin INCLUDES DESTINATION include ) - -#POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") diff --git a/SevenZip/CMakeLists.txt b/SevenZip/CMakeLists.txt index bcc35dfd0..bf76be324 100644 --- a/SevenZip/CMakeLists.txt +++ b/SevenZip/CMakeLists.txt @@ -66,26 +66,13 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - # TODO: Add tests - #add_subdirectory(testsuite) + add_subdirectory(samples) + # TODO: Add tests + #add_subdirectory(testsuite) endif () diff --git a/Util/CMakeLists.txt b/Util/CMakeLists.txt index a8dd68661..852519227 100644 --- a/Util/CMakeLists.txt +++ b/Util/CMakeLists.txt @@ -32,22 +32,8 @@ target_include_directories( "${LIBNAME}" PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) - -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) add_subdirectory(samples) diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt index 17c0a37cd..21e57f825 100644 --- a/XML/CMakeLists.txt +++ b/XML/CMakeLists.txt @@ -49,25 +49,11 @@ target_include_directories( "${LIBNAME}" PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) - -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/Zip/CMakeLists.txt b/Zip/CMakeLists.txt index 1937e91e4..1263d283d 100644 --- a/Zip/CMakeLists.txt +++ b/Zip/CMakeLists.txt @@ -25,25 +25,12 @@ target_include_directories( "${LIBNAME}" $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -install( - DIRECTORY include/Poco - DESTINATION include - COMPONENT Devel - PATTERN ".svn" EXCLUDE - ) -install( - TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets" - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} - RUNTIME DESTINATION bin - INCLUDES DESTINATION include - ) - -POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}") +POCO_INSTALL("${LIBNAME}") +POCO_GENERATE_PACKAGE("${LIBNAME}") if (ENABLE_TESTS) - add_subdirectory(samples) - add_subdirectory(testsuite) + add_subdirectory(samples) + add_subdirectory(testsuite) endif () diff --git a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake index f255c502a..95e09201b 100644 --- a/cmake/PocoMacros.cmake +++ b/cmake/PocoMacros.cmake @@ -187,46 +187,67 @@ endmacro() #=============================================================================== # Macros for Package generation # -#TODO: Document this! # POCO_GENERATE_PACKAGE - Generates *Config.cmake -# Usage: POCO_SOURCES_PLAT( out name platform sources) +# Usage: POCO_GENERATE_PACKAGE(target_name) # INPUT: -# out the variable the sources are added to -# name: the name of the components -# platform: the platform this sources are for (ON = All, OFF = None, WIN32, UNIX ...) -# sources: a list of files to add to ${out} -# Example: POCO_SOURCES_PLAT( SRCS Foundation ON src/Foundation.cpp ) -macro(POCO_GENERATE_PACKAGE target_name export_name package_destination) +# target_name the name of the target. e.g. Foundation for PocoFoundation +# Example: POCO_GENERATE_PACKAGE(Foundation) +macro(POCO_GENERATE_PACKAGE target_name) include(CMakePackageConfigHelpers) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/Poco${target_name}ConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY AnyNewerVersion ) -export(EXPORT "${export_name}" - FILE "${CMAKE_CURRENT_BINARY_DIR}/Poco${target_name}Targets.cmake" - NAMESPACE "Poco::" +export(EXPORT "${target_name}Targets" + FILE "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}${target_name}Targets.cmake" + NAMESPACE "${PROJECT_NAME}::" ) -configure_file(cmake/Poco${target_name}Config.cmake - "${CMAKE_CURRENT_BINARY_DIR}/Poco${target_name}Config.cmake" +configure_file("cmake/Poco${target_name}Config.cmake" + "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}${target_name}Config.cmake" @ONLY ) -set(ConfigPackageLocation "${package_destination}") +set(ConfigPackageLocation "lib/cmake/${PROJECT_NAME}") install( - EXPORT "${export_name}" - FILE "Poco${target_name}Targets.cmake" - NAMESPACE "Poco::" - DESTINATION ${package_destination} + EXPORT "${target_name}Targets" + FILE "${PROJECT_NAME}${target_name}Targets.cmake" + NAMESPACE "${PROJECT_NAME}::" + DESTINATION "lib/cmake/${PROJECT_NAME}" ) install( FILES - "${CMAKE_CURRENT_BINARY_DIR}/Poco${target_name}Config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/Poco${target_name}ConfigVersion.cmake" - DESTINATION ${package_destination} + "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}${target_name}Config.cmake" + "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}${target_name}ConfigVersion.cmake" + DESTINATION "lib/cmake/${PROJECT_NAME}" COMPONENT Devel ) endmacro() + +#=============================================================================== +# Macros for simplified installation +# +# POCO_INSTALL - Install the given target +# Usage: POCO_INSTALL(target_name) +# INPUT: +# target_name the name of the target. e.g. Foundation for PocoFoundation +# Example: POCO_INSTALL(Foundation) +macro(POCO_INSTALL target_name) +install( + DIRECTORY include/Poco + DESTINATION include + COMPONENT Devel + PATTERN ".svn" EXCLUDE + ) + +install( + TARGETS "${target_name}" EXPORT "${target_name}Targets" + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} + RUNTIME DESTINATION bin + INCLUDES DESTINATION include + ) +endmacro()