Skip to content

Commit 757a3e7

Browse files
committed
build: add INSTALL option to cmake
Implements #721.
1 parent 54045e2 commit 757a3e7

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

src/CMakeLists.txt

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,11 @@ check_libcxx_in_use(${projectPrefix}LIBCXX)
3939
# project build options
4040
option(${projectPrefix}BUILD_AS_SYSTEM_HEADERS "Export library as system headers" OFF)
4141
option(${projectPrefix}BUILD_CXX_MODULES "Add C++ modules to the list of default targets" OFF)
42+
option(${projectPrefix}INSTALL "Install the library" ON)
4243

4344
message(STATUS "${projectPrefix}BUILD_AS_SYSTEM_HEADERS: ${${projectPrefix}BUILD_AS_SYSTEM_HEADERS}")
4445
message(STATUS "${projectPrefix}BUILD_CXX_MODULES: ${${projectPrefix}BUILD_CXX_MODULES}")
46+
message(STATUS "${projectPrefix}INSTALL: ${${projectPrefix}INSTALL}")
4547

4648
if(${projectPrefix}BUILD_AS_SYSTEM_HEADERS)
4749
set(${projectPrefix}_AS_SYSTEM SYSTEM)
@@ -135,15 +137,17 @@ add_subdirectory(systems)
135137
# project-wide wrapper
136138
add_mp_units_module(mp-units mp-units DEPENDENCIES mp-units::core mp-units::systems MODULE_INTERFACE_UNIT mp-units.cpp)
137139

138-
# local build
139-
export(EXPORT mp-unitsTargets NAMESPACE mp-units::)
140-
configure_file("mp-unitsConfig.cmake" "." COPYONLY)
141-
include(CMakePackageConfigHelpers)
142-
write_basic_package_version_file(mp-unitsConfigVersion.cmake COMPATIBILITY SameMajorVersion)
140+
if(${projectPrefix}INSTALL)
141+
# local build
142+
export(EXPORT mp-unitsTargets NAMESPACE mp-units::)
143+
configure_file("mp-unitsConfig.cmake" "." COPYONLY)
144+
include(CMakePackageConfigHelpers)
145+
write_basic_package_version_file(mp-unitsConfigVersion.cmake COMPATIBILITY SameMajorVersion)
143146

144-
# installation
145-
install(EXPORT mp-unitsTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/mp-units NAMESPACE mp-units::)
147+
# installation
148+
install(EXPORT mp-unitsTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/mp-units NAMESPACE mp-units::)
146149

147-
install(FILES mp-unitsConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/mp-unitsConfigVersion.cmake
148-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/mp-units
149-
)
150+
install(FILES mp-unitsConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/mp-unitsConfigVersion.cmake
151+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/mp-units
152+
)
153+
endif()

0 commit comments

Comments
 (0)