Skip to content

Commit 1ac2f05

Browse files
committed
Relocating installed CMake data files from lib to share as they are arch independent
1 parent fa564cf commit 1ac2f05

4 files changed

Lines changed: 18 additions & 16 deletions

File tree

CMakeLists.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,18 @@ string(STRIP ${SYSSTR_VERSION} SYSSTR_VERSION)
1616

1717
project(sys_string VERSION ${SYSSTR_VERSION} LANGUAGES CXX)
1818

19-
find_package (Python3 COMPONENTS Interpreter Development)
20-
21-
if (PROJECT_IS_TOP_LEVEL)
19+
option(BUILD_TESTING "Enable testing" ${PROJECT_IS_TOP_LEVEL})
2220

23-
set(SYS_STRING_CONFIGURE_INSTALL ON)
21+
find_package (Python3 COMPONENTS Interpreter Development)
2422

25-
else()
23+
add_subdirectory(lib)
2624

27-
set(SYS_STRING_CONFIGURE_INSTALL ON)
25+
if (PROJECT_IS_TOP_LEVEL)
26+
27+
include(lib/cmake/install.cmake)
2828

2929
endif()
3030

31-
add_subdirectory(lib)
32-
3331
if(${Python3_Interpreter_FOUND} AND "${Python3_VERSION}" VERSION_GREATER_EQUAL "3.9")
3432

3533
file(GLOB UNICODE_DATA ${CMAKE_CURRENT_LIST_DIR}/unicode/data/*.txt)
@@ -70,8 +68,9 @@ if(${Python3_Interpreter_FOUND} AND "${Python3_VERSION}" VERSION_GREATER_EQUAL "
7068

7169
endif()
7270

73-
if (PROJECT_IS_TOP_LEVEL)
74-
71+
if (BUILD_TESTING)
72+
73+
enable_testing()
7574
add_subdirectory(test)
7675

7776
endif()

lib/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ PRIVATE
100100

101101
add_library(${LIBNAME}::${LIBNAME} ALIAS ${LIBNAME})
102102

103-
if (PROJECT_IS_TOP_LEVEL OR SYS_STRING_CONFIGURE_INSTALL)
103+
if (PROJECT_IS_TOP_LEVEL)
104104

105105
include(cmake/install.cmake)
106106

lib/cmake/install.cmake

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,18 @@ include(GNUInstallDirs)
1010
include(CMakePackageConfigHelpers)
1111

1212
install(TARGETS sys_string EXPORT sys_string FILE_SET HEADERS DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
13-
install(EXPORT sys_string NAMESPACE sys_string:: FILE sys_string-exports.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/sys_string)
13+
install(EXPORT sys_string NAMESPACE sys_string:: FILE sys_string-exports.cmake DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/sys_string)
14+
15+
# Clean the old CMAKE_INSTALL_LIBDIR location where things were previously put
16+
# on older versions
17+
install(CODE "file(REMOVE_RECURSE \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/sys_string\")")
18+
1419

1520
configure_package_config_file(
1621
${CMAKE_CURRENT_LIST_DIR}/sys_string-config.cmake.in
1722
${CMAKE_CURRENT_BINARY_DIR}/sys_string-config.cmake
1823
INSTALL_DESTINATION
19-
${CMAKE_INSTALL_LIBDIR}/sys_string
24+
${CMAKE_INSTALL_DATAROOTDIR}/sys_string
2025
)
2126

2227
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/sys_string-config-version.cmake
@@ -28,7 +33,7 @@ install(
2833
${CMAKE_CURRENT_BINARY_DIR}/sys_string-config.cmake
2934
${CMAKE_CURRENT_BINARY_DIR}/sys_string-config-version.cmake
3035
DESTINATION
31-
${CMAKE_INSTALL_LIBDIR}/sys_string
36+
${CMAKE_INSTALL_DATAROOTDIR}/sys_string
3237
)
3338

3439
file(RELATIVE_PATH FROM_PCFILEDIR_TO_PREFIX ${CMAKE_INSTALL_FULL_DATAROOTDIR}/sys_string ${CMAKE_INSTALL_PREFIX})

lib/cmake/sys_string.pc.in

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
55
Name: sys_string
66
Description: C++ string classes optimized for interoperability with external native string types.
77
Version: @PROJECT_VERSION@
8-
Requires:
98
Cflags: -I${includedir}
10-
Libs:

0 commit comments

Comments
 (0)