Skip to content

Commit 074ef96

Browse files
committed
Apply changes regarding modularization of cmake paths
1 parent c9c6dec commit 074ef96

1 file changed

Lines changed: 28 additions & 18 deletions

File tree

cmake/environment.cmake

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,27 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT "${PROJECT_NAME}" STREQUA
1515
endif()
1616
message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}")
1717

18+
1819
## Set the output directories globally
19-
set(ARCHIVE_OUTPUT_DIRECTORY lib)
20-
set(RUNTIME_OUTPUT_DIRECTORY bin)
21-
if(WIN32)
22-
set(LIBRARY_OUTPUT_DIRECTORY ${RUNTIME_OUTPUT_DIRECTORY})
23-
else()
24-
set(LIBRARY_OUTPUT_DIRECTORY ${ARCHIVE_OUTPUT_DIRECTORY})
20+
if(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
21+
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
22+
endif()
23+
24+
if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
25+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
2526
endif()
26-
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${ARCHIVE_OUTPUT_DIRECTORY})
27-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${RUNTIME_OUTPUT_DIRECTORY})
28-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${LIBRARY_OUTPUT_DIRECTORY})
27+
28+
if(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
29+
if(WIN32)
30+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
31+
else()
32+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
33+
endif()
34+
endif()
35+
36+
string(REGEX REPLACE "^${CMAKE_BINARY_DIR}/" "" ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} )
37+
string(REGEX REPLACE "^${CMAKE_BINARY_DIR}/" "" RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} )
38+
string(REGEX REPLACE "^${CMAKE_BINARY_DIR}/" "" LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} )
2939

3040
## RPATH
3141
if(UNIX)
@@ -39,18 +49,18 @@ if(UNIX)
3949

4050
# see https://cmake.org/Wiki/CMake_RPATH_handling for $ORIGIN doc
4151
set(CMAKE_INSTALL_RPATH
42-
"$ORIGIN/../lib"
43-
"$$ORIGIN/../lib"
44-
)
52+
"$ORIGIN/../lib"
53+
"$$ORIGIN/../lib"
54+
)
4555

4656
if(APPLE)
4757
set(CMAKE_MACOSX_RPATH ON)
4858
list(APPEND CMAKE_INSTALL_RPATH
49-
"@loader_path"
50-
"@loader_path/../lib"
51-
"@executable_path"
52-
"@executable_path/../lib"
53-
)
59+
"@loader_path"
60+
"@loader_path/../lib"
61+
"@executable_path"
62+
"@executable_path/../lib"
63+
)
5464
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
5565
endif()
56-
endif(UNIX)
66+
endif(UNIX)

0 commit comments

Comments
 (0)