comparison CMakeLists.txt @ 16:f926f0525b08

reorganization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 07 Apr 2015 16:08:05 +0200
parents 09421764214b
children b1eafe1e8511
comparison
equal deleted inserted replaced
15:51b727a268f4 16:f926f0525b08
40 40
41 # Distribution-specific settings 41 # Distribution-specific settings
42 set(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") 42 set(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)")
43 mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE) 43 mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE)
44 44
45 # Force static build when cross-compiling
46 if (CMAKE_CROSSCOMPILING)
47 set(STATIC_BUILD ON)
48 set(STANDALONE_BUILD ON)
49 endif()
50
51 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
52 SET(OS_LIBRARIES uuid rt dl)
53 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
54 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pthread")
55 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
56 SET(OS_LIBRARIES rpcrt4 ws2_32 secur32)
57 if (CMAKE_COMPILER_IS_GNUCXX)
58 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++")
59 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++")
60 endif()
61 endif ()
62
63 if (CMAKE_COMPILER_IS_GNUCXX)
64 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/Resources/VersionScript.map -Wl,--no-undefined")
65 endif()
66
67 if (MSVC)
68 # Use static runtime under Visual Studio
69 # http://www.cmake.org/Wiki/CMake_FAQ#Dynamic_Replace
70 # http://stackoverflow.com/a/6510446
71 foreach(flag_var
72 CMAKE_C_FLAGS_DEBUG
73 CMAKE_CXX_FLAGS_DEBUG
74 CMAKE_C_FLAGS_RELEASE
75 CMAKE_CXX_FLAGS_RELEASE
76 CMAKE_C_FLAGS_MINSIZEREL
77 CMAKE_CXX_FLAGS_MINSIZEREL
78 CMAKE_C_FLAGS_RELWITHDEBINFO
79 CMAKE_CXX_FLAGS_RELWITHDEBINFO)
80 string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
81 string(REGEX REPLACE "/MDd" "/MTd" ${flag_var} "${${flag_var}}")
82 endforeach(flag_var)
83
84 add_definitions(-D_CRT_SECURE_NO_WARNINGS=1)
85 endif()
86
87 include(CheckIncludeFiles) 45 include(CheckIncludeFiles)
88 include(CheckIncludeFileCXX) 46 include(CheckIncludeFileCXX)
89 include(CheckLibraryExists) 47 include(CheckLibraryExists)
48 include(${CMAKE_SOURCE_DIR}/Resources/CMake/Compiler.cmake)
90 include(${CMAKE_SOURCE_DIR}/Resources/CMake/AutoGeneratedCode.cmake) 49 include(${CMAKE_SOURCE_DIR}/Resources/CMake/AutoGeneratedCode.cmake)
91 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DownloadPackage.cmake) 50 include(${CMAKE_SOURCE_DIR}/Resources/CMake/DownloadPackage.cmake)
92 51
93 include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake) 52 include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake)
94 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GdcmConfiguration.cmake) 53 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GdcmConfiguration.cmake)