@@ -38,19 +38,18 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
3838endif ()
3939
4040# Offer the user the choice of overriding the installation directories
41- set (INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries" )
42- set (INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files" )
41+ option (OSI_INSTALL_LIB_DIR "Installation directory for libraries" lib )
42+ option (OSI_INSTALL_INCLUDE_DIR "Installation directory for header files" include )
4343
4444if (WIN32 AND NOT CYGWIN )
4545 set (DEF_INSTALL_CMAKE_DIR CMake/${PROJECT_NAME} -${VERSION_MAJOR} )
4646else ()
4747 set (DEF_INSTALL_CMAKE_DIR lib/cmake/${PROJECT_NAME} -${VERSION_MAJOR} )
4848endif ()
49- set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH
50- "Installation directory for CMake files" )
49+ option (OSI_INSTALL_CMAKE_DIR "Installation directory for CMake files" ${DEF_INSTALL_CMAKE_DIR} )
5150
52- set (INSTALL_LIB_DIR ${INSTALL_LIB_DIR } /osi${VERSION_MAJOR} )
53- set (INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR } /osi${VERSION_MAJOR} )
51+ set (OSI_INSTALL_LIB_DIR ${OSI_INSTALL_LIB_DIR } /osi${VERSION_MAJOR} )
52+ set (OSI_INSTALL_INCLUDE_DIR ${OSI_INSTALL_INCLUDE_DIR } /osi${VERSION_MAJOR} )
5453
5554configure_file (osi_version.proto.in ${CMAKE_CURRENT_SOURCE_DIR} /osi_version.proto)
5655
@@ -137,20 +136,20 @@ target_include_directories(${PROJECT_NAME}_static
137136 PUBLIC
138137 ${PROTOBUF_INCLUDE_DIR}
139138 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} >
140- $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR } >
139+ $<INSTALL_INTERFACE:${OSI_INSTALL_INCLUDE_DIR } >
141140)
142141target_link_libraries (${PROJECT_NAME} _static PUBLIC ${PROTOBUF_LIBRARY} )
143142install (TARGETS ${PROJECT_NAME} _static
144143 EXPORT ${PROJECT_NAME} _targets
145- ARCHIVE DESTINATION "${INSTALL_LIB_DIR } " COMPONENT lib)
144+ ARCHIVE DESTINATION "${OSI_INSTALL_LIB_DIR } " COMPONENT lib)
146145
147146
148147add_library (${PROJECT_NAME} _obj OBJECT ${PROTO_SRCS} ${PROTO_HEADERS} )
149148target_include_directories (${PROJECT_NAME} _obj
150149 PUBLIC
151150 ${PROTOBUF_INCLUDE_DIR}
152151 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} >
153- $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR } >
152+ $<INSTALL_INTERFACE:${OSI_INSTALL_INCLUDE_DIR } >
154153)
155154set_property (TARGET ${PROJECT_NAME} _obj PROPERTY POSITION_INDEPENDENT_CODE ON )
156155
@@ -161,22 +160,22 @@ target_include_directories(${PROJECT_NAME}_pic
161160 PUBLIC
162161 ${PROTOBUF_INCLUDE_DIR}
163162 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} >
164- $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR } >
163+ $<INSTALL_INTERFACE:${OSI_INSTALL_INCLUDE_DIR } >
165164)
166165target_link_libraries (${PROJECT_NAME} _pic PUBLIC ${PROTOBUF_LIBRARY} )
167166
168167set_property (TARGET ${PROJECT_NAME} _pic PROPERTY POSITION_INDEPENDENT_CODE ON )
169168
170169install (TARGETS ${PROJECT_NAME} _pic
171170 EXPORT ${PROJECT_NAME} _targets
172- ARCHIVE DESTINATION "${INSTALL_LIB_DIR } " COMPONENT lib)
171+ ARCHIVE DESTINATION "${OSI_INSTALL_LIB_DIR } " COMPONENT lib)
173172
174173add_library (${PROJECT_NAME} SHARED $<TARGET_OBJECTS:${PROJECT_NAME} _obj>)
175174target_include_directories (${PROJECT_NAME}
176175 PUBLIC
177176 ${PROTOBUF_INCLUDE_DIR}
178177 $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR} >
179- $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR } >
178+ $<INSTALL_INTERFACE:${OSI_INSTALL_INCLUDE_DIR } >
180179)
181180
182181set_property (
@@ -191,7 +190,7 @@ set_property(
191190target_link_libraries (${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} )
192191install (TARGETS ${PROJECT_NAME}
193192 EXPORT ${PROJECT_NAME} _targets
194- DESTINATION "${INSTALL_LIB_DIR } " COMPONENT lib)
193+ DESTINATION "${OSI_INSTALL_LIB_DIR } " COMPONENT lib)
195194
196195# Create the open_simulation_interface.cmake and open_simulation_interface-version files
197196
@@ -200,7 +199,7 @@ set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}")
200199configure_file (open_simulation_interface-config.cmake.in
201200 "${PROJECT_BINARY_DIR} /${PROJECT_NAME} -config.cmake" @ONLY)
202201# ... for the install tree
203- set (CONF_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX} /${INSTALL_INCLUDE_DIR } ${PROTOBUF_INCLUDE_DIR} )
202+ set (CONF_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX} /${OSI_INSTALL_INCLUDE_DIR } ${PROTOBUF_INCLUDE_DIR} )
204203configure_file (open_simulation_interface-config.cmake.in
205204 "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY} /open_simulation_interface-config.cmake" @ONLY)
206205# ... for both
@@ -211,16 +210,16 @@ configure_file(open_simulation_interface-config-version.cmake.in
211210install (FILES
212211 "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY} /open_simulation_interface-config.cmake"
213212 "${PROJECT_BINARY_DIR} /${PROJECT_NAME} -config-version.cmake"
214- DESTINATION "${INSTALL_CMAKE_DIR } "
213+ DESTINATION "${OSI_INSTALL_CMAKE_DIR } "
215214 COMPONENT dev)
216215
217216# Header files
218217install (FILES ${PROTO_HEADERS} ${FLAT_HEADERS}
219- DESTINATION "${INSTALL_INCLUDE_DIR } " )
218+ DESTINATION "${OSI_INSTALL_INCLUDE_DIR } " )
220219
221220# Install the export set for use with the install-tree
222221install (EXPORT ${PROJECT_NAME} _targets
223- DESTINATION "${INSTALL_CMAKE_DIR } "
222+ DESTINATION "${OSI_INSTALL_CMAKE_DIR } "
224223 COMPONENT dev)
225224
226225# add a target to generate API documentation with Doxygen
0 commit comments