Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Use GNUInstallDirs CMake module #1062

Merged
merged 6 commits into from
Oct 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ANTS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -196,5 +196,5 @@ endif()
#Only install ITK/VTK libraries if shared build and superbuild is used
if(BUILD_SHARED_LIBS AND ((NOT USE_SYSTEM_ITK) OR ((NOT USE_SYSTEM_VTK) AND USE_VTK)))
install(DIRECTORY ${CMAKE_BINARY_DIR}/../staging/lib/
DESTINATION lib)
DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
7 changes: 5 additions & 2 deletions Common.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,6 @@ if(PLATFORM_CHECK)
endif()
endif()



#-------------------------------------------------------------------------
# Augment compiler flags
#-------------------------------------------------------------------------
Expand All @@ -127,3 +125,8 @@ if(NOT CMAKE_POSITION_INDEPENDENT_CODE)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
endif()

#-------------------------------------------------------------------------
# Define install dirs for different platforms
#-------------------------------------------------------------------------
include(GNUInstallDirs)
32 changes: 16 additions & 16 deletions Examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
## Note that the antsUtilities can always be built static. It will then be linked
## Directly into the other libraries.
add_library(antsUtilities antsUtilities.cxx
Expand All @@ -14,11 +14,11 @@ add_library(antsUtilities antsUtilities.cxx
)
target_link_libraries(antsUtilities ${ITK_LIBRARIES} )
install(TARGETS antsUtilities
RUNTIME DESTINATION bin
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT RUNTIME_antsUtilities
LIBRARY DESTINATION lib
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT RUNTIME_antsUtilities
ARCHIVE DESTINATION lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT DEVELOPMENT_antsUtilities
)

Expand All @@ -34,22 +34,22 @@ macro(STATIC_ANTS_BUILD ANTS_FUNCTION_NAME EXTRA_LIBS)

if (ANTS_INSTALL_LIBS_ONLY)
install(TARGETS l_${ANTS_FUNCTION_NAME}
# RUNTIME DESTINATION bin
# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
# COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
LIBRARY DESTINATION lib
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
ARCHIVE DESTINATION lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT DEVELOPMENT_${ANTS_FUNCTION_NAME}
)
else()
add_executable( ${ANTS_FUNCTION_NAME} cli_${ANTS_FUNCTION_NAME}.cxx )
target_link_libraries( ${ANTS_FUNCTION_NAME} l_${ANTS_FUNCTION_NAME} )
install(TARGETS l_${ANTS_FUNCTION_NAME} ${ANTS_FUNCTION_NAME}
RUNTIME DESTINATION bin
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
LIBRARY DESTINATION lib
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
ARCHIVE DESTINATION lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT DEVELOPMENT_${ANTS_FUNCTION_NAME}
)
endif()
Expand All @@ -68,23 +68,23 @@ macro(DYNAMIC_ANTS_BUILD ANTS_FUNCTION_NAME EXTRA_LIBS)

if (ANTS_INSTALL_LIBS_ONLY)
install(TARGETS l_${ANTS_FUNCTION_NAME}
# RUNTIME DESTINATION bin
# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
# COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
LIBRARY DESTINATION lib
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
ARCHIVE DESTINATION lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT DEVELOPMENT_${ANTS_FUNCTION_NAME}
)
else()
add_executable( ${ANTS_FUNCTION_NAME} cli_${ANTS_FUNCTION_NAME}.cxx )
target_link_libraries( ${ANTS_FUNCTION_NAME} l_${ANTS_FUNCTION_NAME} )

install(TARGETS l_${ANTS_FUNCTION_NAME} ${ANTS_FUNCTION_NAME}
RUNTIME DESTINATION bin
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
LIBRARY DESTINATION lib
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT RUNTIME_${ANTS_FUNCTION_NAME}
ARCHIVE DESTINATION lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT DEVELOPMENT_${ANTS_FUNCTION_NAME}
)
endif()
Expand Down
1 change: 1 addition & 0 deletions SuperBuild.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ list(APPEND ${CMAKE_PROJECT_NAME}_SUPERBUILD_EP_VARS
CMAKE_MODULE_LINKER_FLAGS:STRING
CMAKE_GENERATOR:STRING
CMAKE_EXTRA_GENERATOR:STRING
CMAKE_INSTALL_LIBDIR:STRING
CMAKE_INSTALL_PREFIX:PATH
CMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH
CMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH
Expand Down
3 changes: 2 additions & 1 deletion SuperBuild/External_VTK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,8 @@ if(NOT ( DEFINED "USE_SYSTEM_${extProjName}" AND "${USE_SYSTEM_${extProjName}}"
#-DVTK_USE_RPATH:BOOL=ON # Unused
${VTK_TCL_ARGS}
-DVTK_WRAP_PYTHON:BOOL=${VTK_WRAP_PYTHON}
-DVTK_INSTALL_LIB_DIR:PATH=${${PROJECT_NAME}_INSTALL_LIB_DIR}
# setting VTK_INSTALL_LIB_DIR can cause confusion in superbuild staging
# -DVTK_INSTALL_LIB_DIR:PATH=${${PROJECT_NAME}_INSTALL_LIB_DIR}
${VTK_PYTHON_ARGS}
${VTK_QT_ARGS}
${VTK_MAC_ARGS}
Expand Down