Skip to content

Commit c7fdd59

Browse files
committed
Bug#28045358: Added CMAKE_INSTALL_INCLUDEDIR, CMAKE_INSTALL_LIBDIR and
CMAKE_INSTALL_LIBDIR option Kudos for Terje Røsten for the mysql-connector-c++.spec.in patch
1 parent 868109d commit c7fdd59

File tree

8 files changed

+30
-12
lines changed

8 files changed

+30
-12
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ ENDIF()
5555
set(CMAKE_INSTALL_PREFIX "" CACHE PATH "Install location")
5656

5757

58+
5859
##########################################################################
5960

6061
PROJECT(MySQL_CONCPP)

PackageSpecs.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ foreach(file ${info_files})
148148
set(file_bin "${CMAKE_BINARY_DIR}/${file}${info_ext}")
149149

150150
configure_file("${file_src}" "${file_bin}" NEWLINE_STYLE ${newline})
151-
install(FILES "${file_bin}" DESTINATION . COMPONENT Readme)
151+
install(FILES "${file_bin}" DESTINATION ${INSTALL_DOC_DIR} COMPONENT Readme)
152152

153153
endforeach()
154154

buildinfo.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,4 @@ if(WITH_JDBC)
112112
endif()
113113

114114

115-
install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION . COMPONENT Readme)
115+
install(FILES "${PROJECT_BINARY_DIR}/BUILDINFO.txt" DESTINATION ${INSTALL_DOC_DIR} COMPONENT Readme)

include/mysqlx/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,5 @@ ADD_HEADERS_DIR(devapi)
3636
ADD_HEADERS(${headers})
3737
ADD_HEADER_CHECKS()
3838

39-
INSTALL(FILES ${headers} DESTINATION include/mysqlx COMPONENT XDevAPIDev)
39+
INSTALL(FILES ${headers} DESTINATION ${INSTALL_INCLUDE_DIR}/mysqlx COMPONENT XDevAPIDev)
4040

include/mysqlx/common/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,4 @@ check_headers(${headers})
3232

3333
ADD_HEADERS(${headers})
3434
ADD_HEADER_CHECKS()
35-
INSTALL(FILES ${headers} DESTINATION include/mysqlx/common COMPONENT XDevAPIDev)
35+
INSTALL(FILES ${headers} DESTINATION ${INSTALL_INCLUDE_DIR}/mysqlx/common COMPONENT XDevAPIDev)

include/mysqlx/devapi/detail/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ check_headers(${headers})
3333

3434
ADD_HEADERS(${headers})
3535
ADD_HEADER_CHECKS()
36-
INSTALL(FILES ${headers} DESTINATION include/mysqlx/devapi/detail COMPONENT XDevAPIDev)
36+
INSTALL(FILES ${headers} DESTINATION ${INSTALL_INCLUDE_DIR}/mysqlx/devapi/detail COMPONENT XDevAPIDev)

install_layout.cmake

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,37 @@ if(NOT DEFINED IS64BIT)
5656
message(FATAL_ERROR "IS64BIT not defined!")
5757
endif()
5858

59+
#
60+
# Default locations, if not overridden with cmake options
61+
#
62+
63+
set(CMAKE_INSTALL_INCLUDEDIR "include" CACHE STRING
64+
"Include Install location (Relative to CMAKE_INSTALL_PREFIX)")
65+
5966
if(IS64BIT)
60-
set(INSTALL_LIB_DIR "lib64")
67+
set(CMAKE_INSTALL_LIBDIR "lib64" CACHE STRING
68+
"Library Install location (Relative to CMAKE_INSTALL_PREFIX)")
6169
else()
62-
set(INSTALL_LIB_DIR "lib")
70+
set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING
71+
"Library Install location (Relative to CMAKE_INSTALL_PREFIX)")
6372
endif()
6473

74+
set(CMAKE_INSTALL_DOCDIR "." CACHE STRING
75+
"Doc Install location (Relative to CMAKE_INSTALL_PREFIX)")
76+
77+
#
78+
# These variables should be used in install specs.
79+
#
80+
81+
set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
6582

6683
set(INSTALL_LIB_DIR_STATIC "${INSTALL_LIB_DIR}")
6784
if(VS)
6885
set(INSTALL_LIB_DIR_STATIC "${INSTALL_LIB_DIR_STATIC}/${VS}")
6986
endif()
7087

71-
set(INSTALL_INCLUDE_DIR include)
72-
set(INSTALL_DOC_DIR doc)
88+
set(INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR})
89+
set(INSTALL_DOC_DIR ${CMAKE_INSTALL_DOCDIR})
7390

7491
#
7592
# Store layout settings in the cache.

packaging/mysql-connector-c++.spec.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,13 @@ TEST_OPTS=
126126
mkdir build-dynamic && pushd build-dynamic
127127
%if 0%{?fedora} || 0%{?rhel}
128128
%cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_JDBC=ON -DWITH_SSL=system %{?mysql_opt} \
129+
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/mysql-cppconn-8 \
129130
${TEST_OPTS}
130131
%else
131132
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_JDBC=ON -DWITH_SSL=system %{?mysql_opt} \
132133
${TEST_OPTS} \
133134
-DCMAKE_INSTALL_PREFIX="%_prefix" \
135+
-DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/mysql-cppconn-8 \
134136
-DCMAKE_C_FLAGS:STRING="%optflags" \
135137
-DCMAKE_CXX_FLAGS:STRING="%optflags"
136138
%endif
@@ -192,9 +194,7 @@ mv run_unit_tests %{buildroot}%{_libdir}/mysql-cppconn-8/static/
192194
%endif
193195
popd
194196

195-
# Adjust the directory structure for header files
196-
install -d -m0755 %{buildroot}%{_includedir}/mysql-cppconn-8
197-
mv %{buildroot}%{_includedir}/{jdbc,mysqlx} %{buildroot}%{_includedir}/mysql-cppconn-8
197+
# Add compat dir and remove unwanted file
198198
ln -s mysql-cppconn-8 %{buildroot}%{_includedir}/mysql-cppconn
199199
rm %{buildroot}/usr/BUILDINFO.txt
200200

0 commit comments

Comments
 (0)