mirror of
https://github.com/OpenCMT/uLib.git
synced 2025-12-06 07:21:31 +01:00
add version 0.6 - make external build possible
This commit is contained in:
@@ -33,31 +33,20 @@ message(STATUS "Module path = ${CMAKE_MODULE_PATH}")
|
||||
|
||||
## GLOBALS ------------------------------------------------------------------ ##
|
||||
|
||||
# set(PACKAGE_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin
|
||||
# CACHE PATH "Installation directory for executables")
|
||||
# set(PACKAGE_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib/
|
||||
# CACHE PATH "Installation directory for libraries")
|
||||
# set(PACKAGE_INSTALL_INC_DIR ${CMAKE_INSTALL_PREFIX}/include/${PACKAGE_NAME}
|
||||
# CACHE PATH "Installation directory for headers")
|
||||
# set(PACKAGE_INSTALL_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/${PACKAGE_NAME}
|
||||
# CACHE PATH "Installation directory for data files")
|
||||
# set(PACKAGE_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake/${PACKAGE_NAME}
|
||||
# CACHE PATH "Installation directory for CMake files")
|
||||
|
||||
# -- move to GnuInstallDirs
|
||||
# ref: https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
|
||||
include(GNUInstallDirs)
|
||||
set(PACKAGE_INSTALL_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_NAME}
|
||||
set(INSTALL_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PACKAGE_NAME}
|
||||
CACHE PATH "Location of header files (.../include)" )
|
||||
set(PACKAGE_INSTALL_ETC_DIR ${CMAKE_INSTALL_SYSCONFDIR}/${PACKAGE_NAME}
|
||||
set(INSTALL_ETC_DIR ${CMAKE_INSTALL_SYSCONFDIR}/${PACKAGE_NAME}
|
||||
CACHE PATH "Location of configuration files (.../etc)" )
|
||||
set(PACKAGE_INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR}/${PACKAGE_NAME}
|
||||
set(INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR}/${PACKAGE_NAME}
|
||||
CACHE PATH "Location of executable files (.../bin)" )
|
||||
set(PACKAGE_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR}
|
||||
set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "Location of library files (.../lib)" )
|
||||
set(PACKAGE_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
||||
set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PACKAGE_NAME}
|
||||
CACHE PATH "Location of cmake files (.../lib/cmake)" )
|
||||
set(PACKAGE_INSTALL_DATA_DIR ${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}
|
||||
set(INSTALL_DATA_DIR ${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}
|
||||
CACHE PATH "Location of data files (.../share)" )
|
||||
|
||||
|
||||
@@ -67,7 +56,7 @@ set(SRC_DIR ${PROJECT_SOURCE_DIR}/src)
|
||||
|
||||
# this is used to be exported in build target
|
||||
# ( to compile against build directory instead of install )
|
||||
set(ULIB_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src)
|
||||
set(ULIB_SOURCE_DIR ${PROJECT_SOURCE_DIR})
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||
message(STATUS "Setting build type to 'Release' as none was specified.")
|
||||
@@ -105,7 +94,7 @@ find_package(ROOT CONFIG REQUIRED)
|
||||
include(${ROOT_USE_FILE})
|
||||
|
||||
find_package(VTK REQUIRED)
|
||||
include(${VTK_USE_FILE})
|
||||
# include(${VTK_USE_FILE})
|
||||
|
||||
|
||||
|
||||
@@ -172,7 +161,7 @@ configure_file("${PROJECT_SOURCE_DIR}/CMakeConfig.in.h"
|
||||
"${PROJECT_BINARY_DIR}/config.h")
|
||||
|
||||
install(FILES "${PROJECT_BINARY_DIR}/config.h"
|
||||
DESTINATION ${PACKAGE_INSTALL_INC_DIR})
|
||||
DESTINATION ${INSTALL_INC_DIR})
|
||||
|
||||
## ADD LIBRARIES SUBDIRECTORIES --------------------------------------------- ##
|
||||
|
||||
@@ -217,8 +206,8 @@ add_subdirectory(${SRC_DIR}/Vtk)
|
||||
|
||||
|
||||
# Create the FooBarConfig.cmake and FooBarConfigVersion files
|
||||
# file(RELATIVE_PATH REL_INCLUDE_DIR "${PACKAGE_INSTALL_CMAKE_DIR}"
|
||||
# "${PACKAGE_INSTALL_INC_DIR}")
|
||||
# file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}"
|
||||
# "${INSTALL_INC_DIR}")
|
||||
|
||||
# ... for the build tree
|
||||
#set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}")
|
||||
@@ -237,21 +226,20 @@ configure_file(uLibConfigVersion.cmake.in
|
||||
"${PROJECT_BINARY_DIR}/uLibConfigVersion.cmake" @ONLY)
|
||||
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
# from CMake 3.x configure file shall be created using a dedicated function
|
||||
# see: https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html
|
||||
#
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(uLibConfig.cmake.in
|
||||
"${PROJECT_BINARY_DIR}/uLibConfig.cmake"
|
||||
INSTALL_DESTINATION ${PACKAGE_INSTALL_CMAKE_DIR}
|
||||
INSTALL_DESTINATION ${INSTALL_CMAKE_DIR}
|
||||
PATH_VARS
|
||||
PACKAGE_INSTALL_LIB_DIR
|
||||
PACKAGE_INSTALL_INC_DIR
|
||||
PACKAGE_INSTALL_BIN_DIR
|
||||
PACKAGE_INSTALL_CMAKE_DIR
|
||||
PACKAGE_INSTALL_ETC_DIR
|
||||
PACKAGE_INSTALL_DATA_DIR
|
||||
INSTALL_LIB_DIR
|
||||
INSTALL_INC_DIR
|
||||
INSTALL_BIN_DIR
|
||||
INSTALL_CMAKE_DIR
|
||||
INSTALL_ETC_DIR
|
||||
INSTALL_DATA_DIR
|
||||
ULIB_SOURCE_DIR
|
||||
ULIB_SHARED_LIBRARIES
|
||||
# NO_SET_AND_CHECK_MACRO
|
||||
@@ -260,7 +248,7 @@ configure_package_config_file(uLibConfig.cmake.in
|
||||
|
||||
install(FILES "${PROJECT_BINARY_DIR}/uLibConfig.cmake"
|
||||
"${PROJECT_BINARY_DIR}/uLibConfigVersion.cmake"
|
||||
DESTINATION "${PACKAGE_INSTALL_CMAKE_DIR}"
|
||||
DESTINATION "${INSTALL_CMAKE_DIR}"
|
||||
COMPONENT dev)
|
||||
|
||||
|
||||
@@ -275,6 +263,6 @@ export (TARGETS ${ULIB_SHARED_LIBRARIES}
|
||||
# Install the export set for use with the install-tree
|
||||
install(EXPORT "uLibTargets"
|
||||
FILE "uLibTargets.cmake"
|
||||
DESTINATION "${PACKAGE_INSTALL_CMAKE_DIR}"
|
||||
DESTINATION "${INSTALL_CMAKE_DIR}"
|
||||
COMPONENT dev)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user