Skip to content

Commit 20eb577

Browse files
committed
Merge remote-tracking branch 'origin/disable_install_if_not_top_level' into library_alias
2 parents e42213c + 842a33e commit 20eb577

File tree

2 files changed

+59
-56
lines changed

2 files changed

+59
-56
lines changed

CMakeLists.txt

+2-56
Original file line numberDiff line numberDiff line change
@@ -451,60 +451,6 @@ add_custom_target ( uninstall
451451
#-----------------------------------------------------
452452
# Publicize installed location to other CMake projects
453453
#-----------------------------------------------------
454-
install ( EXPORT ${PACKAGE_NAME}-targets
455-
NAMESPACE ${PACKAGE_NAME}::
456-
DESTINATION "${EXPORT_INSTALL_DIR}" )
457-
458-
include ( CMakePackageConfigHelpers ) # Standard CMake module
459-
write_basic_package_version_file( "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake"
460-
VERSION ${VERSION}
461-
COMPATIBILITY SameMajorVersion )
462-
463-
# provides COMPILER_CONSISTENCY_CHECK
464-
include ( cmake/FCompilerConsistencyCheck.cmake )
465-
466-
# install package config file
467-
configure_package_config_file (
468-
"${PROJECT_SOURCE_DIR}/cmake/pkg/${PROJECT_NAME}-config.cmake.in"
469-
"${PROJECT_BINARY_DIR}/pkg/${PACKAGE_NAME}-config.cmake"
470-
INSTALL_DESTINATION "${EXPORT_INSTALL_DIR}"
471-
PATH_VARS EXPORT_INSTALL_DIR INSTALL_MOD_DIR )
472-
473-
# Install the config and version files so that we can find this project with others
474-
install ( FILES
475-
"${PROJECT_BINARY_DIR}/pkg/${PACKAGE_NAME}-config.cmake"
476-
"${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake"
477-
DESTINATION "${EXPORT_INSTALL_DIR}" )
478-
479-
#----------------------------------------------
480-
# Make build tree targets accessible for import
481-
#----------------------------------------------
482-
export ( TARGETS ${LIB_NAME} ${LIB_NAME}-static FILE ${PACKAGE_NAME}-targets.cmake )
483-
484-
# build tree package config file, NOT installed
485-
configure_file (
486-
"${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake.in"
487-
"${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake"
488-
@ONLY )
489-
490-
set ( ENABLE_BUILD_TREE_EXPORT FALSE CACHE BOOL
491-
"Add the ${PACKAGE_NAME} build tree to the CMake package registry?" )
492-
if ( ENABLE_BUILD_TREE_EXPORT )
493-
export ( PACKAGE ${PACKAGE_NAME} )
494-
endif ()
495-
496-
# pkg-config stuff
497-
configure_file(
498-
"${CMAKE_CURRENT_SOURCE_DIR}/json-fortran.pc.cmake.in"
499-
"${CMAKE_CURRENT_BINARY_DIR}/json-fortran.pc"
500-
@ONLY
501-
)
502-
install(FILES
503-
"${CMAKE_CURRENT_BINARY_DIR}/json-fortran.pc"
504-
DESTINATION "${INSTALL_LIB_DIR}/pkgconfig"
505-
)
506-
507-
if(MSVC_IDE)
508-
INCLUDE_DIRECTORIES("src")
509-
SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpp")
454+
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
455+
add_subdirectory(packaging)
510456
endif()

packaging/CMakeLists.txt

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
install ( EXPORT ${PACKAGE_NAME}-targets
2+
NAMESPACE ${PACKAGE_NAME}::
3+
DESTINATION "${EXPORT_INSTALL_DIR}" )
4+
5+
include ( CMakePackageConfigHelpers ) # Standard CMake module
6+
write_basic_package_version_file( "${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake"
7+
VERSION ${VERSION}
8+
COMPATIBILITY SameMajorVersion )
9+
10+
# provides COMPILER_CONSISTENCY_CHECK
11+
include ( ${PROJECT_SOURCE_DIR}/cmake/FCompilerConsistencyCheck.cmake )
12+
13+
# install package config file
14+
configure_package_config_file (
15+
"${PROJECT_SOURCE_DIR}/cmake/pkg/${PROJECT_NAME}-config.cmake.in"
16+
"${PROJECT_BINARY_DIR}/pkg/${PACKAGE_NAME}-config.cmake"
17+
INSTALL_DESTINATION "${EXPORT_INSTALL_DIR}"
18+
PATH_VARS EXPORT_INSTALL_DIR INSTALL_MOD_DIR )
19+
20+
# Install the config and version files so that we can find this project with others
21+
install ( FILES
22+
"${PROJECT_BINARY_DIR}/pkg/${PACKAGE_NAME}-config.cmake"
23+
"${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config-version.cmake"
24+
DESTINATION "${EXPORT_INSTALL_DIR}" )
25+
26+
#----------------------------------------------
27+
# Make build tree targets accessible for import
28+
#----------------------------------------------
29+
export ( TARGETS ${LIB_NAME} ${LIB_NAME}-static FILE ${PACKAGE_NAME}-targets.cmake )
30+
31+
# build tree package config file, NOT installed
32+
configure_file (
33+
"${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake.in"
34+
"${PROJECT_BINARY_DIR}/${PACKAGE_NAME}-config.cmake"
35+
@ONLY )
36+
37+
set ( ENABLE_BUILD_TREE_EXPORT FALSE CACHE BOOL
38+
"Add the ${PACKAGE_NAME} build tree to the CMake package registry?" )
39+
if ( ENABLE_BUILD_TREE_EXPORT )
40+
export ( PACKAGE ${PACKAGE_NAME} )
41+
endif ()
42+
43+
# pkg-config stuff
44+
configure_file(
45+
"${PROJECT_SOURCE_DIR}/json-fortran.pc.cmake.in"
46+
"${CMAKE_CURRENT_BINARY_DIR}/json-fortran.pc"
47+
@ONLY
48+
)
49+
install(FILES
50+
"${CMAKE_CURRENT_BINARY_DIR}/json-fortran.pc"
51+
DESTINATION "${INSTALL_LIB_DIR}/pkgconfig"
52+
)
53+
54+
if(MSVC_IDE)
55+
INCLUDE_DIRECTORIES("src")
56+
SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpp")
57+
endif()

0 commit comments

Comments
 (0)