Skip to content

Commit f778e67

Browse files
committed
CMake: Improve installation and package generation
Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
1 parent b2e209b commit f778e67

21 files changed

Lines changed: 122 additions & 333 deletions

File tree

CppParser/CMakeLists.txt

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,10 @@ target_include_directories( "${LIBNAME}"
2626
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
2727
)
2828

29-
install(
30-
DIRECTORY include/Poco
31-
DESTINATION include
32-
COMPONENT Devel
33-
PATTERN ".svn" EXCLUDE
34-
)
35-
36-
install(
37-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
38-
LIBRARY DESTINATION lib${LIB_SUFFIX}
39-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
40-
RUNTIME DESTINATION bin
41-
INCLUDES DESTINATION include
42-
)
43-
44-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
29+
POCO_INSTALL("${LIBNAME}")
30+
POCO_GENERATE_PACKAGE("${LIBNAME}")
4531

4632
if (ENABLE_TESTS)
47-
add_subdirectory(testsuite)
33+
add_subdirectory(testsuite)
4834
endif ()
4935

Crypto/CMakeLists.txt

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,11 @@ target_include_directories( "${LIBNAME}"
2727
$<INSTALL_INTERFACE:include>
2828
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
2929
)
30-
install(
31-
DIRECTORY include/Poco
32-
DESTINATION include
33-
COMPONENT Devel
34-
PATTERN ".svn" EXCLUDE
35-
)
36-
37-
install(
38-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
39-
LIBRARY DESTINATION lib${LIB_SUFFIX}
40-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
41-
RUNTIME DESTINATION bin
42-
INCLUDES DESTINATION include
43-
)
4430

45-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
31+
POCO_INSTALL("${LIBNAME}")
32+
POCO_GENERATE_PACKAGE("${LIBNAME}")
4633

4734
if (ENABLE_TESTS)
48-
add_subdirectory(samples)
49-
add_subdirectory(testsuite)
35+
add_subdirectory(samples)
36+
add_subdirectory(testsuite)
5037
endif ()

Data/CMakeLists.txt

Lines changed: 25 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -34,54 +34,41 @@ target_include_directories( "${LIBNAME}"
3434
$<INSTALL_INTERFACE:include>
3535
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
3636
)
37-
install(
38-
DIRECTORY include/Poco
39-
DESTINATION include
40-
COMPONENT Devel
41-
PATTERN ".svn" EXCLUDE
42-
)
43-
44-
install(
45-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
46-
LIBRARY DESTINATION lib${LIB_SUFFIX}
47-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
48-
RUNTIME DESTINATION bin
49-
INCLUDES DESTINATION include
50-
)
5137

52-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
38+
POCO_INSTALL("${LIBNAME}")
39+
POCO_GENERATE_PACKAGE("${LIBNAME}")
5340

5441
if(ENABLE_DATA_SQLITE)
55-
# SQlite3 is built in any case
56-
add_subdirectory( SQLite )
42+
# SQlite3 is built in any case
43+
add_subdirectory( SQLite )
5744
endif(ENABLE_DATA_SQLITE)
5845

5946
if(ENABLE_DATA_MYSQL)
60-
find_package(MySQL)
61-
if(MYSQL_FOUND)
62-
include_directories("${MYSQL_INCLUDE_DIR}")
63-
message(STATUS "MySQL Support Enabled")
64-
add_subdirectory( MySQL )
65-
else()
66-
message(STATUS "MySQL Support Disabled - no MySQL library")
67-
endif(MYSQL_FOUND)
47+
find_package(MySQL)
48+
if(MYSQL_FOUND)
49+
include_directories("${MYSQL_INCLUDE_DIR}")
50+
message(STATUS "MySQL Support Enabled")
51+
add_subdirectory( MySQL )
52+
else()
53+
message(STATUS "MySQL Support Disabled - no MySQL library")
54+
endif(MYSQL_FOUND)
6855
endif(ENABLE_DATA_MYSQL)
6956

7057
if(ENABLE_DATA_ODBC)
71-
find_package(ODBC)
72-
if(WIN32 AND NOT WINCE)
73-
set(ODBC_LIBRARIES "odbc32" "odbccp32")
74-
message(STATUS "Windows native ODBC Support Enabled")
75-
add_subdirectory( ODBC )
76-
else(WIN32 AND NOT WINCE)
77-
if(ODBC_FOUND)
78-
include_directories("${ODBC_INCLUDE_DIRECTORIES}")
79-
message(STATUS "ODBC Support Enabled")
58+
find_package(ODBC)
59+
if(WIN32 AND NOT WINCE)
60+
set(ODBC_LIBRARIES "odbc32" "odbccp32")
61+
message(STATUS "Windows native ODBC Support Enabled")
8062
add_subdirectory( ODBC )
81-
else()
82-
message(STATUS "ODBC Support Disabled - no ODBC runtime")
83-
endif()
84-
endif(WIN32 AND NOT WINCE)
63+
else(WIN32 AND NOT WINCE)
64+
if(ODBC_FOUND)
65+
include_directories("${ODBC_INCLUDE_DIRECTORIES}")
66+
message(STATUS "ODBC Support Enabled")
67+
add_subdirectory( ODBC )
68+
else()
69+
message(STATUS "ODBC Support Disabled - no ODBC runtime")
70+
endif()
71+
endif(WIN32 AND NOT WINCE)
8572
endif(ENABLE_DATA_ODBC)
8673

8774
if (ENABLE_TESTS)

Data/MySQL/CMakeLists.txt

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,9 @@ target_include_directories( "${LIBNAME}"
2727
$<INSTALL_INTERFACE:include>
2828
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
2929
)
30-
install(
31-
DIRECTORY include/Poco
32-
DESTINATION include
33-
COMPONENT Devel
34-
PATTERN ".svn" EXCLUDE
35-
)
36-
37-
install(
38-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
39-
LIBRARY DESTINATION lib${LIB_SUFFIX}
40-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
41-
RUNTIME DESTINATION bin
42-
INCLUDES DESTINATION include
43-
)
4430

45-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
31+
POCO_INSTALL("${LIBNAME}")
32+
POCO_GENERATE_PACKAGE("${LIBNAME}")
4633

4734
if (ENABLE_TESTS)
4835
add_subdirectory(testsuite)

Data/ODBC/CMakeLists.txt

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,9 @@ target_include_directories( "${LIBNAME}"
2727
$<INSTALL_INTERFACE:include>
2828
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
2929
)
30-
install(
31-
DIRECTORY include/Poco
32-
DESTINATION include
33-
COMPONENT Devel
34-
PATTERN ".svn" EXCLUDE
35-
)
36-
37-
install(
38-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
39-
LIBRARY DESTINATION lib${LIB_SUFFIX}
40-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
41-
RUNTIME DESTINATION bin
42-
INCLUDES DESTINATION include
43-
)
4430

45-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
31+
POCO_INSTALL("${LIBNAME}")
32+
POCO_GENERATE_PACKAGE("${LIBNAME}")
4633

4734
if (ENABLE_TESTS)
4835
add_subdirectory(testsuite)

Data/SQLite/CMakeLists.txt

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,9 @@ target_include_directories( "${LIBNAME}"
4848
$<INSTALL_INTERFACE:include>
4949
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
5050
)
51-
install(
52-
DIRECTORY include/Poco
53-
DESTINATION include
54-
COMPONENT Devel
55-
PATTERN ".svn" EXCLUDE
56-
)
57-
58-
install(
59-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
60-
LIBRARY DESTINATION lib${LIB_SUFFIX}
61-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
62-
RUNTIME DESTINATION bin
63-
INCLUDES DESTINATION include
64-
)
6551

66-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
52+
POCO_INSTALL("${LIBNAME}")
53+
POCO_GENERATE_PACKAGE("${LIBNAME}")
6754

6855
if (ENABLE_TESTS)
6956
add_subdirectory(testsuite)

Foundation/CMakeLists.txt

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -121,22 +121,8 @@ target_include_directories( "${LIBNAME}"
121121
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
122122
)
123123

124-
install(
125-
DIRECTORY include/Poco
126-
DESTINATION include
127-
COMPONENT Devel
128-
PATTERN ".svn" EXCLUDE
129-
)
130-
131-
install(
132-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
133-
LIBRARY DESTINATION lib${LIB_SUFFIX}
134-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
135-
RUNTIME DESTINATION bin
136-
INCLUDES DESTINATION include
137-
)
138-
139-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
124+
POCO_INSTALL("${LIBNAME}")
125+
POCO_GENERATE_PACKAGE("${LIBNAME}")
140126

141127
if (ENABLE_TESTS)
142128
add_subdirectory( samples )

JSON/CMakeLists.txt

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,11 @@ target_include_directories( "${LIBNAME}"
2626
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
2727
)
2828

29-
install(
30-
DIRECTORY include/Poco
31-
DESTINATION include
32-
COMPONENT Devel
33-
PATTERN ".svn" EXCLUDE
34-
)
35-
36-
install(
37-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
38-
LIBRARY DESTINATION lib${LIB_SUFFIX}
39-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
40-
RUNTIME DESTINATION bin
41-
INCLUDES DESTINATION include
42-
)
43-
44-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
29+
POCO_INSTALL("${LIBNAME}")
30+
POCO_GENERATE_PACKAGE("${LIBNAME}")
4531

4632
if (ENABLE_TESTS)
47-
add_subdirectory(samples)
48-
add_subdirectory(testsuite)
33+
add_subdirectory(samples)
34+
add_subdirectory(testsuite)
4935
endif ()
5036

MongoDB/CMakeLists.txt

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,12 @@ target_include_directories( "${LIBNAME}"
2525
$<INSTALL_INTERFACE:include>
2626
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
2727
)
28-
install(
29-
DIRECTORY include/Poco
30-
DESTINATION include
31-
COMPONENT Devel
32-
PATTERN ".svn" EXCLUDE
33-
)
34-
35-
install(
36-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
37-
LIBRARY DESTINATION lib${LIB_SUFFIX}
38-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
39-
RUNTIME DESTINATION bin
40-
INCLUDES DESTINATION include
41-
)
4228

43-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
29+
POCO_INSTALL("${LIBNAME}")
30+
POCO_GENERATE_PACKAGE("${LIBNAME}")
4431

4532
if (ENABLE_TESTS)
46-
add_subdirectory(samples)
47-
add_subdirectory(testsuite)
33+
add_subdirectory(samples)
34+
add_subdirectory(testsuite)
4835
endif ()
4936

Net/CMakeLists.txt

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,25 +34,12 @@ target_include_directories( "${LIBNAME}"
3434
$<INSTALL_INTERFACE:include>
3535
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
3636
)
37-
install(
38-
DIRECTORY include/Poco
39-
DESTINATION include
40-
COMPONENT Devel
41-
PATTERN ".svn" EXCLUDE
42-
)
43-
44-
install(
45-
TARGETS "${LIBNAME}" EXPORT "${LIBNAME}Targets"
46-
LIBRARY DESTINATION lib${LIB_SUFFIX}
47-
ARCHIVE DESTINATION lib${LIB_SUFFIX}
48-
RUNTIME DESTINATION bin
49-
INCLUDES DESTINATION include
50-
)
5137

52-
POCO_GENERATE_PACKAGE("${LIBNAME}" "${LIBNAME}Targets" "lib/cmake/${PROJECT_NAME}")
38+
POCO_INSTALL("${LIBNAME}")
39+
POCO_GENERATE_PACKAGE("${LIBNAME}")
5340

5441
if (ENABLE_TESTS)
55-
add_subdirectory(samples)
56-
add_subdirectory(testsuite)
42+
add_subdirectory(samples)
43+
add_subdirectory(testsuite)
5744
endif ()
5845

0 commit comments

Comments
 (0)