You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
cmake_minimum_required(VERSION 2.8.5) |
|
|
|
# Make sure the user doesn't play dirty with symlinks |
|
get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH) |
|
get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH) |
|
|
|
# Disallow in-source builds |
|
if(${srcdir} STREQUAL ${bindir}) |
|
message(FATAL_ERROR "In-source builds are not allowed." |
|
" Please create a directory and run cmake from there, passing the path" |
|
" to this source directory as the last argument. This process created" |
|
" the file `CMakeCache.txt' and the directory `CMakeFiles' in ${srcdir}." |
|
" Please remove them.") |
|
endif() |
|
|
|
project(gmt_makemap CXX) |
|
|
|
if(NOT CMAKE_BUILD_TYPE) |
|
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo" FORCE) |
|
endif() |
|
|
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/" CACHE INTERNAL "Location of our custom CMake modules." FORCE) |
|
|
|
include_directories(include) |
|
set(default_options -std=gnu++11 -flto -fvisibility=hidden -Wl,--export-dynamic -Wall) |
|
add_compile_options(${default_options}) |
|
|
|
file(GLOB modules modules/*) |
|
file(GLOB extramodules extramodules/*) |
|
|
|
set(STATIC_MODULES "") |
|
|
|
foreach(ext ${modules}) |
|
if(EXISTS ${ext}/CMakeLists.txt) |
|
string(REGEX REPLACE .*/ "" modname ${ext}) |
|
option(MODULE_${modname}_BUILD "Build module ${modname}" ON) |
|
option(MODULE_${modname}_STATIC "Link module ${modname} statically in gmt_makemap" ON) |
|
mark_as_advanced(FORCE MODULE_${modname}_STATIC) |
|
if(MODULE_${modname}_BUILD) |
|
add_subdirectory(modules/${modname}) |
|
endif() |
|
endif() |
|
endforeach(ext) |
|
|
|
foreach(ext ${extramodules}) |
|
if(EXISTS ${ext}/CMakeLists.txt) |
|
string(REGEX REPLACE .*/ "" modname ${ext}) |
|
option(MODULE_${modname}_BUILD "Build module ${modname}" ON) |
|
option(MODULE_${modname}_STATIC "Link module ${modname} statically in gmt_makemap" ON) |
|
mark_as_advanced(FORCE MODULE_${modname}_STATIC) |
|
if(MODULE_${modname}_BUILD) |
|
add_subdirectory(extramodules/${modname}) |
|
endif() |
|
endif() |
|
endforeach(ext) |
|
|
|
add_subdirectory(src)
|
|
|