@@ -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 )
99elseif (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 )
1514else ()
@@ -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+ )
4529endif ()
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)
5744set (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)
6246set (CMAKE_C_STANDARD_REQUIRED ON )
6347
6448set (CMAKE_EXPORT_COMPILE_COMMANDS ON )
@@ -69,22 +53,6 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
6953set (CMAKE_BUILD_WITH_INSTALL_RPATH TRUE )
7054set (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-
8856if (APPLE )
8957 set (CMAKE_INSTALL_RPATH "@executable_path;@executable_path/../Frameworks;@executable_path/Frameworks;@loader_path" )
9058elseif (LINUX )
@@ -97,35 +65,26 @@ else()
9765 project (Elemental LANGUAGES C CXX )
9866endif ()
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} )
10871endforeach ()
10972
11073add_subdirectory (external )
11174add_subdirectory (src/Elemental/Common )
11275add_subdirectory (src/Elemental )
113-
76+
11477if (NOT BUILD_FOR_IOS)
115- add_subdirectory (src/ElementalTools )
78+ add_subdirectory (src/ElementalTools )
11679endif ()
11780
11881add_subdirectory (samples )
11982
120- set (SUB_PROJECTS "./tests" "./samples" )
121-
83+ set (SUB_PROJECTS tests samples)
12284foreach (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 ()
12890endforeach ()
129-
130- # DEBUG Deps
131- #set_property(GLOBAL PROPERTY GLOBAL_DEPENDS_DEBUG_MODE 1)
0 commit comments