Skip to content

Commit 2f7e1b1

Browse files
committed
Clean root CMake configuration
1 parent 22b08fe commit 2f7e1b1

1 file changed

Lines changed: 25 additions & 66 deletions

File tree

CMakeLists.txt

Lines changed: 25 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ if(WIN32)
44
set(CMAKE_SYSTEM_PROCESSOR "x64")
55
set(CMAKE_CXX_COMPILER "clang-cl")
66
set(CMAKE_C_COMPILER "clang-cl")
7-
7+
88
add_compile_options(/W4)
99
elseif(LINUX)
1010
set(CMAKE_CXX_COMPILER "clang++")
1111
set(CMAKE_C_COMPILER "clang")
12-
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
1312
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lm")
1413
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
1514
else()
@@ -21,44 +20,29 @@ else()
2120
message(FATAL_ERROR "When building for iOS you need to pass signing information.")
2221
endif()
2322
endif()
24-
set(CLANG_COMPILE_OPTIONS -Wall -Wextra -Wpedantic)
25-
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wall>)
26-
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wextra>)
27-
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wpedantic>)
28-
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wall>)
29-
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wextra>)
30-
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wpedantic>)
31-
32-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
33-
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
34-
35-
find_program(DSYMUTIL_PROGRAM dsymutil)
36-
# TODO: This method work when we need to debug but it causes errors when recompiling
37-
#[[
38-
if (DSYMUTIL_PROGRAM)
39-
foreach(lang C CXX)
40-
foreach(var LINK_EXECUTABLE CREATE_SHARED_LIBRARY)
41-
set(CMAKE_${lang}_${var} "${CMAKE_${lang}_${var}}" "${DSYMUTIL_PROGRAM} <TARGET>")
42-
endforeach()
43-
endforeach()
44-
endif()]]
23+
24+
add_compile_options(
25+
$<$<COMPILE_LANGUAGE:C,CXX>:-Wall>
26+
$<$<COMPILE_LANGUAGE:C,CXX>:-Wextra>
27+
$<$<COMPILE_LANGUAGE:C,CXX>:-Wpedantic>
28+
)
4529
endif()
4630

47-
# TODO: Use address sanitizer
31+
add_compile_options(
32+
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-unused-parameter>
33+
$<$<COMPILE_LANGUAGE:C,CXX>:-Wno-missing-field-initializers>
34+
$<$<COMPILE_LANGUAGE:C,CXX>:-fansi-escape-codes>
35+
$<$<COMPILE_LANGUAGE:C,CXX>:-fcolor-diagnostics>
36+
)
4837

49-
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-unused-parameter>)
50-
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-missing-field-initializers>)
51-
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wno-unused-parameter>)
52-
add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wno-missing-field-initializers>)
38+
add_compile_definitions(
39+
_CRT_SECURE_NO_WARNINGS
40+
$<$<CONFIG:Debug>:_DEBUG>
41+
)
5342

54-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
55-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fansi-escape-codes -fcolor-diagnostics -D_CRT_SECURE_NO_WARNINGS")
56-
set(CMAKE_CXX_STANDARD "23")
43+
set(CMAKE_CXX_STANDARD 23)
5744
set(CMAKE_CXX_STANDARD_REQUIRED ON)
58-
59-
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG")
60-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fansi-escape-codes -fcolor-diagnostics -D_CRT_SECURE_NO_WARNINGS")
61-
set(CMAKE_C_STANDARD "23")
45+
set(CMAKE_C_STANDARD 23)
6246
set(CMAKE_C_STANDARD_REQUIRED ON)
6347

6448
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -69,22 +53,6 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
6953
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
7054
set(CMAKE_INSTALL_NAME_DIR "@rpath")
7155

72-
if (TEST_BUILD)
73-
#add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-O0>)
74-
75-
# TODO: Investigate why is doesn't work on windows
76-
77-
#add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fprofile-instr-generate>)
78-
#add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fcoverage-mapping>)
79-
#add_link_options($<$<COMPILE_LANGUAGE:CXX>:-fprofile-instr-generate>)
80-
#add_link_options($<$<COMPILE_LANGUAGE:CXX>:-fcoverage-mapping>)
81-
82-
#add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-coverage>)
83-
#add_link_options($<$<COMPILE_LANGUAGE:CXX>:-coverage>)
84-
85-
#"clang_rt.profile-x86_64.lib"
86-
endif()
87-
8856
if(APPLE)
8957
set(CMAKE_INSTALL_RPATH "@executable_path;@executable_path/../Frameworks;@executable_path/Frameworks;@loader_path")
9058
elseif(LINUX)
@@ -97,35 +65,26 @@ else()
9765
project(Elemental LANGUAGES C CXX)
9866
endif()
9967

100-
set(UTILITIES "./utilities/cmake")
101-
102-
foreach(UTILITY IN LISTS UTILITIES)
103-
file(GLOB UTILITY_FILES "${UTILITY}/*.cmake")
104-
105-
foreach(UTILITY_FILE IN LISTS UTILITY_FILES)
106-
include(${UTILITY_FILE})
107-
endforeach()
68+
file(GLOB UTILITY_FILES "${CMAKE_CURRENT_SOURCE_DIR}/utilities/cmake/*.cmake")
69+
foreach(UTILITY_FILE IN LISTS UTILITY_FILES)
70+
include(${UTILITY_FILE})
10871
endforeach()
10972

11073
add_subdirectory(external)
11174
add_subdirectory(src/Elemental/Common)
11275
add_subdirectory(src/Elemental)
113-
76+
11477
if(NOT BUILD_FOR_IOS)
115-
add_subdirectory(src/ElementalTools)
78+
add_subdirectory(src/ElementalTools)
11679
endif()
11780

11881
add_subdirectory(samples)
11982

120-
set(SUB_PROJECTS "./tests" "./samples")
121-
83+
set(SUB_PROJECTS tests samples)
12284
foreach(SUB_PROJECT IN LISTS SUB_PROJECTS)
12385
file(GLOB_RECURSE SUB_PROJECT_FILES "${SUB_PROJECT}/**/CMakeLists.txt")
12486
foreach(SUB_PROJECT_FILE IN LISTS SUB_PROJECT_FILES)
12587
get_filename_component(SUB_PROJECT_DIR ${SUB_PROJECT_FILE} DIRECTORY)
12688
add_subdirectory(${SUB_PROJECT_DIR})
12789
endforeach()
12890
endforeach()
129-
130-
# DEBUG Deps
131-
#set_property(GLOBAL PROPERTY GLOBAL_DEPENDS_DEBUG_MODE 1)

0 commit comments

Comments
 (0)