update CMake to have namespaced stuff

This commit is contained in:
ThePhD 2018-08-10 20:53:31 -04:00
parent 7f1c2e3ecf
commit db927c5159
No known key found for this signature in database
GPG Key ID: 1509DB1C0F702BFA

View File

@ -139,6 +139,11 @@ CMAKE_DEPENDENT_OPTION(TESTS_DYNAMIC_LOADING_EXAMPLES "Enable build of dynamic l
# # # sol2 Library # # # sol2 Library
# # Add a target for sol2's library to be included by external users # # Add a target for sol2's library to be included by external users
add_library(sol2 INTERFACE) add_library(sol2 INTERFACE)
add_library(sol2::sol2 ALIAS sol2)
set_target_properties(sol2
PROPERTIES
EXPORT_NAME sol2::sol2)
target_include_directories(sol2 INTERFACE target_include_directories(sol2 INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include>) $<INSTALL_INTERFACE:include>)
@ -198,8 +203,10 @@ if (PYTHONINTERP_FOUND)
add_custom_target(sol2_single_header ALL add_custom_target(sol2_single_header ALL
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/single/sol.hpp" "${CMAKE_CURRENT_BINARY_DIR}/single/sol_forward.hpp") DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/single/sol.hpp" "${CMAKE_CURRENT_BINARY_DIR}/single/sol_forward.hpp")
add_library(sol2_single INTERFACE) add_library(sol2_single INTERFACE)
add_library(sol2::sol2_single ALIAS sol2_single)
set_target_properties(sol2_single set_target_properties(sol2_single
PROPERTIES PROPERTIES
EXPORT_NAME sol2::sol2_single
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/single") INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/single")
add_dependencies(sol2_single sol2_single_header) add_dependencies(sol2_single sol2_single_header)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/single/sol.hpp" "${CMAKE_CURRENT_BINARY_DIR}/single/sol_forward.hpp" install(FILES "${CMAKE_CURRENT_BINARY_DIR}/single/sol.hpp" "${CMAKE_CURRENT_BINARY_DIR}/single/sol_forward.hpp"
@ -221,12 +228,12 @@ endif()
# pkg-config support, except on Windows # pkg-config support, except on Windows
if(NOT WIN32 OR NOT CMAKE_HOST_SYSTEM_NAME MATCHES Windows) if(NOT WIN32 OR NOT CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
set(PKGCONFIG_INSTALL_DIR set(PKGCONFIG_INSTALL_DIR
"${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig" "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig"
CACHE PATH "Path where sol2.pc is installed") CACHE PATH "Path where sol2.pc is installed")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sol2.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/sol2.pc" @ONLY) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sol2.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/sol2.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sol2.pc" DESTINATION "${PKGCONFIG_INSTALL_DIR}") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sol2.pc" DESTINATION "${PKGCONFIG_INSTALL_DIR}")
endif() endif()
if (CI) if (CI)