Skip to content

Commit 842a33e

Browse files
committed
only installing if json-fortran is the top level project
1 parent 280ae0e commit 842a33e

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