Skip to content

Commit

Permalink
Merge pull request #174 from SNLComputation/cmake_fixup
Browse files Browse the repository at this point in the history
Version 1.0.3
  • Loading branch information
kuberry committed Mar 10, 2020
2 parents 8b5e9e9 + 83397b8 commit 34933e0
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 254 deletions.
9 changes: 5 additions & 4 deletions CMakeLists.txt
@@ -1,12 +1,13 @@
cmake_minimum_required(VERSION 3.0.0)
CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0 FATAL_ERROR)

##########
#
# Compadre Details
#
##########

PROJECT(Compadre VERSION 1.0.2 LANGUAGES CXX)
PROJECT(Compadre VERSION 1.0.3 LANGUAGES CXX)


# cmake helper functions
include(${CMAKE_CURRENT_LIST_DIR}/cmake/bob.cmake)
Expand All @@ -24,7 +25,7 @@ SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_RPATH})
SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR} ${CMAKE_INSTALL_RPATH})

# RPATH should always include the folder it is called from
bob_option(PYTHON_CALLING_BUILD "Python setuptools calling build" OFF)
Expand Down Expand Up @@ -365,7 +366,7 @@ if (Compadre_USE_PYTHON)
ENDIF()

set(SWIG_PREFIX "../python") # relative to examples folder
bob_input(GMLS_Module_DEST "lib/python/dist-packages" PATH "Path to install python module")
bob_input(GMLS_Module_DEST "${CMAKE_INSTALL_LIBDIR}/python/dist-packages" PATH "Path to install python module")

IF(NOT EXISTS ${PYTHON_INCLUDE_DIRS})
EXECUTE_PROCESS(
Expand Down
40 changes: 20 additions & 20 deletions cmake/bob.cmake
Expand Up @@ -30,9 +30,9 @@ function(bob_always_full_rpath)
set(CMAKE_BUILD_WITH_INSTALL_RPATH False PARENT_SCOPE)
# the RPATH to be used when installing, but only if it's not a system directory
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
"${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
"${CMAKE_INSTALL_LIBDIR}" isSystemDir)
if("${isSystemDir}" STREQUAL "-1")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib" PARENT_SCOPE)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_LIBDIR}" PARENT_SCOPE)
endif()
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
Expand Down Expand Up @@ -341,10 +341,10 @@ macro(bob_add_dependency)
install(TARGETS ${tgt} EXPORT
${tgt}-target
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
RUNTIME DESTINATION lib)
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(EXPORT ${tgt}-target
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
set(${PROJECT_NAME}_EXPORTED_TARGETS
${${PROJECT_NAME}_EXPORTED_TARGETS}
${tgt})
Expand Down Expand Up @@ -390,11 +390,11 @@ function(bob_export_target tgt_name)
install(TARGETS ${tgt_name} DESTINATION bin)
else()
if (USE_XSDK_DEFAULTS)
install(TARGETS ${tgt_name} DESTINATION lib)
install(TARGETS ${tgt_name} DESTINATION ${CMAKE_INSTALL_LIBDIR})
else()
install(TARGETS ${tgt_name} EXPORT ${tgt_name}-target DESTINATION lib)
install(TARGETS ${tgt_name} EXPORT ${tgt_name}-target DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(EXPORT ${tgt_name}-target NAMESPACE ${PROJECT_NAME}::
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
set(${PROJECT_NAME}_EXPORTED_TARGETS
${${PROJECT_NAME}_EXPORTED_TARGETS} ${tgt_name} PARENT_SCOPE)
endif()
Expand Down Expand Up @@ -516,15 +516,15 @@ function(bob_install_provenance)
"${${PROJECT_NAME}_CMAKE_ARGS}")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_cmake_args.txt
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
string(TOUPPER "${CMAKE_BUILD_TYPE}" build_type_upper)
foreach(lang IN LISTS languages)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_${lang}_compile_line.txt
"${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_FLAGS} ${CMAKE_${lang}_FLAGS_${build_type_upper}}")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_${lang}_compile_line.txt
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endforeach()
foreach(tgt IN LISTS ${PROJECT_NAME}_EXPORTED_TARGETS)
get_target_property(tgt_type "${tgt}" TYPE)
Expand All @@ -534,7 +534,7 @@ function(bob_install_provenance)
"${link_libs}")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_${tgt}_libs.txt
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endif()
endforeach()

Expand All @@ -545,15 +545,15 @@ function(bob_install_provenance_no_recurse no_recurse_components_list)
"${${PROJECT_NAME}_CMAKE_ARGS}")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_cmake_args.txt
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
string(TOUPPER "${CMAKE_BUILD_TYPE}" build_type_upper)
foreach(lang IN LISTS languages)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_${lang}_compile_line.txt
"${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_FLAGS} ${CMAKE_${lang}_FLAGS_${build_type_upper}}")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_${lang}_compile_line.txt
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endforeach()
foreach(tgt IN LISTS ${PROJECT_NAME}_EXPORTED_TARGETS)
get_target_property(tgt_type "${tgt}" TYPE)
Expand All @@ -563,7 +563,7 @@ function(bob_install_provenance_no_recurse no_recurse_components_list)
"${link_libs}")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_${tgt}_libs.txt
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endif()
endforeach()

Expand All @@ -572,7 +572,7 @@ endfunction(bob_install_provenance_no_recurse)
function(bob_end_package)
include(CMakePackageConfigHelpers)
set(INCLUDE_INSTALL_DIR include)
set(LIB_INSTALL_DIR lib)
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
set(LATEST_FIND_DEPENDENCY
"#The definition of this macro is really inconvenient prior to CMake
#commit ab358d6a859d8b7e257ed1e06ca000e097a32ef6
Expand Down Expand Up @@ -654,7 +654,7 @@ set(${KEY_${TYPE}} \"${val}\")")
")
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
if(PROJECT_VERSION)
file(WRITE
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
Expand All @@ -665,15 +665,15 @@ set(${KEY_${TYPE}} \"${val}\")")
COMPATIBILITY SameMajorVersion)
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endif()
bob_install_provenance()
endfunction(bob_end_package)

function(bob_end_package_no_recurse no_recurse_components_list)
include(CMakePackageConfigHelpers)
set(INCLUDE_INSTALL_DIR include)
set(LIB_INSTALL_DIR lib)
set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
set(LATEST_FIND_DEPENDENCY
"#The definition of this macro is really inconvenient prior to CMake
#commit ab358d6a859d8b7e257ed1e06ca000e097a32ef6
Expand Down Expand Up @@ -749,7 +749,7 @@ set(${KEY_${TYPE}} \"${val}\")")
")
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
if(PROJECT_VERSION)
file(WRITE
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
Expand All @@ -760,7 +760,7 @@ set(${KEY_${TYPE}} \"${val}\")")
COMPATIBILITY SameMajorVersion)
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION lib/cmake/${PROJECT_NAME})
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
endif()
bob_install_provenance_no_recurse("${no_recurse_components_list}")
endfunction(bob_end_package_no_recurse)

0 comments on commit 34933e0

Please sign in to comment.