-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathext_cmake_setup.cmake
More file actions
66 lines (56 loc) · 2.17 KB
/
ext_cmake_setup.cmake
File metadata and controls
66 lines (56 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# TODO - test this macro in other libs
# execute macro only in top-level CMakeLists.txt
if(EXT_SETUP_DONE)
return()
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL
"Export compile_comands.json to be consumed by clang-completion")
set(CMAKE_CXX_STANDARD 17 CACHE STRING "Use C++17 standard.")
set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "Use plain C++ (no GNU extentions)")
set_property(GLOBAL PROPERTY USE_FOLDERS ON) # XCode / VS folders
if(NOT EXT_LIBRARIES_PATH)
set(ext_libraries_path_candidate "${CMAKE_CURRENT_SOURCE_DIR}/..")
get_filename_component(ext_libraries_path_candidate "${ext_libraries_path_candidate}" ABSOLUTE)
message(INFO "extINFO -- EXT_LIBRARIES_PATH -- Testing candidate: ${ext_libraries_path_candidate}")
if(EXISTS ${ext_libraries_path_candidate}/basics/include/ext/util)
message(INFO "extINFO -- Setting EXT_LIBRARIES_PATH to: ${ext_libraries_path_candidate} (cmake_setup)")
set(EXT_LIBRARIES_PATH "${ext_libraries_path_candidate}" CACHE PATH "Path of ext libraries.")
else()
message(INFO "extINFO -- EXT_LIBRARIES_PATH not found.")
endif()
endif()
include(ext_cmake_utils)
include(ext_cmake_install)
include(ext_cmake_compiler_specific)
include(ext_cmake_enable_libs)
ext_define_warning_flags()
ext_colored_compiler_ouput(ON)
include (TestBigEndian)
TEST_BIG_ENDIAN(ext_is_big_endian)
# execute this setup just once
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
set(LINUX TRUE)
else()
set(LINUX FALSE)
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# set / modify default install prefix
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
ext_log("install location defaulted")
if(UNIX)
##set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local")
else()
# do not change the default for other operating systems
endif()
else()
ext_log("install location manually provided")
endif()
ext_log("installing to: ${CMAKE_INSTALL_PREFIX}")
set(EXT_CXX_COMPILER_IS_GCC FALSE)
set(EXT_CXX_COMPILER_IS_CLANG FALSE)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(EXT_CXX_COMPILER_IS_GCC TRUE)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(EXT_CXX_COMPILER_IS_CLANG TRUE)
endif()
set(EXT_SETUP_DONE TRUE)