diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Modules/CMakeLists.txt | 1 | ||||
-rw-r--r-- | cmake/Modules/GRASCommon.cmake | 64 | ||||
-rw-r--r-- | cmake/Modules/GRASTool.in.cmake | 2 |
3 files changed, 67 insertions, 0 deletions
diff --git a/cmake/Modules/CMakeLists.txt b/cmake/Modules/CMakeLists.txt index d2eb07f..87f5116 100644 --- a/cmake/Modules/CMakeLists.txt +++ b/cmake/Modules/CMakeLists.txt @@ -12,6 +12,7 @@ list(APPEND GRAS_TOOL_SOURCES install( FILES ${CMAKE_CURRENT_BINARY_DIR}/GRASTool.cmake + ${CMAKE_CURRENT_SOURCE_DIR}/GRASCommon.cmake ${CMAKE_CURRENT_SOURCE_DIR}/GrTest.cmake DESTINATION share/gras/cmake/Modules COMPONENT ${GRAS_COMP_DEVEL} diff --git a/cmake/Modules/GRASCommon.cmake b/cmake/Modules/GRASCommon.cmake new file mode 100644 index 0000000..6844dd4 --- /dev/null +++ b/cmake/Modules/GRASCommon.cmake @@ -0,0 +1,64 @@ +if(DEFINED __INCLUDED_GRAS_COMMON_CMAKE) + return() +endif() +set(__INCLUDED_GRAS_COMMON_CMAKE TRUE) + +######################################################################## +# select the release build type by default to get optimization flags +######################################################################## +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release") + message(STATUS "Build type not specified: defaulting to release.") +endif(NOT CMAKE_BUILD_TYPE) +set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "") + +######################################################################## +# Setup Boost defines that get used before find_package(Boost) +######################################################################## +if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64" AND NOT BOOST_LIBRARYDIR) + list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix +endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64" AND NOT BOOST_LIBRARYDIR) + +set(Boost_ADDITIONAL_VERSIONS + "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39" + "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44" + "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49" + "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54" + "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59" + "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" + "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" +) + +if(NOT Boost_INCLUDE_DIRS) + find_package(Boost) + if(NOT Boost_FOUND) + message(FATAL_ERROR "Boost C++ headers not found - required for GRAS_TOOL") + endif() +endif() + +######################################################################## +# Linux detection stuff +######################################################################## +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(LINUX TRUE) +endif() + +if(LINUX AND EXISTS "/etc/debian_version") + set(DEBIAN TRUE) +endif() + +if(LINUX AND EXISTS "/etc/redhat-release") + set(REDHAT TRUE) +endif() + +if(LINUX AND EXISTS "/etc/slackware-version") + set(SLACKWARE TRUE) +endif() + +######################################################################## +# Automatic LIB_SUFFIX detection + configuration option +######################################################################## +IF(NOT DEFINED LIB_SUFFIX AND (REDHAT OR SLACKWARE) AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$") + SET(LIB_SUFFIX 64) +ENDIF() +SET(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix") diff --git a/cmake/Modules/GRASTool.in.cmake b/cmake/Modules/GRASTool.in.cmake index 54c9695..1d6cb6e 100644 --- a/cmake/Modules/GRASTool.in.cmake +++ b/cmake/Modules/GRASTool.in.cmake @@ -3,6 +3,8 @@ if(DEFINED __INCLUDED_GRAS_TOOL_CMAKE) endif() set(__INCLUDED_GRAS_TOOL_CMAKE TRUE) +include(GRASCommon) + ######################################################################## ## Define GRAS_TOOL_PATH_SEP for utility purposes ######################################################################## |