From db927c51592e4d3f58278c96af194df782b583c8 Mon Sep 17 00:00:00 2001 From: ThePhD Date: Fri, 10 Aug 2018 20:53:31 -0400 Subject: [PATCH] update CMake to have namespaced stuff --- CMakeLists.txt | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ba52ded8..ad557768 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,6 +139,11 @@ CMAKE_DEPENDENT_OPTION(TESTS_DYNAMIC_LOADING_EXAMPLES "Enable build of dynamic l # # # sol2 Library # # Add a target for sol2's library to be included by external users add_library(sol2 INTERFACE) +add_library(sol2::sol2 ALIAS sol2) +set_target_properties(sol2 + PROPERTIES + EXPORT_NAME sol2::sol2) + target_include_directories(sol2 INTERFACE $ $) @@ -198,8 +203,10 @@ if (PYTHONINTERP_FOUND) add_custom_target(sol2_single_header ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/single/sol.hpp" "${CMAKE_CURRENT_BINARY_DIR}/single/sol_forward.hpp") add_library(sol2_single INTERFACE) + add_library(sol2::sol2_single ALIAS sol2_single) set_target_properties(sol2_single PROPERTIES + EXPORT_NAME sol2::sol2_single INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/single") add_dependencies(sol2_single sol2_single_header) 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 if(NOT WIN32 OR NOT CMAKE_HOST_SYSTEM_NAME MATCHES Windows) - set(PKGCONFIG_INSTALL_DIR - "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig" - CACHE PATH "Path where sol2.pc is installed") - - 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}") + set(PKGCONFIG_INSTALL_DIR + "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig" + CACHE PATH "Path where sol2.pc is installed") + + 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}") endif() if (CI) @@ -267,7 +274,7 @@ if (DO_TESTS OR DO_EXAMPLES) set(THREADS_PREFER_PTHREAD_FLAG TRUE) endif() find_package(Threads REQUIRED) - + string(TOLOWER ${LUA_VERSION} NORMALIZED_LUA_VERSION) # Find way to get Lua: build if requested, or attempt to build if no matching version is found if (BUILD_LUA) @@ -287,18 +294,18 @@ if (DO_TESTS OR DO_EXAMPLES) find_package(LuaBuild ${LUA_VERSION} REQUIRED) endif() endif() - + if (NOT LUA_FOUND AND NOT LUABUILD_FOUND) message(FATAL_ERROR "sol2 Lua \"${LUA_VERSION}\" not found and could not be targeted for building") endif() - + # # Enable test harness for regular, example or single tests if (ENABLE_TESTING) # enable ctest message(STATUS "sol2 testing enabled") enable_testing() endif() - + # # # Examples # # Enable examples to be built against the library if (DO_EXAMPLES) @@ -306,7 +313,7 @@ if (DO_TESTS OR DO_EXAMPLES) message(STATUS "sol2 adding examples...") add_subdirectory(examples "${CMAKE_BINARY_DIR}/examples") endif() - + # # # Tests # # Add tests here if (DO_TESTS)