@@ -84,7 +84,7 @@ if(USE_GCC_ANALYZER)
8484endif ()
8585
8686if (TARGET_NATIVE)
87- if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES " Clang" )
87+ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
8888 check_cxx_compiler_flag("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
8989 if (COMPILER_SUPPORTS_MARCH_NATIVE)
9090 list (APPEND COMMON_COMPILE_FLAGS "-march=native" )
@@ -93,55 +93,41 @@ if(TARGET_NATIVE)
9393 if (COMPILER_SUPPORTS_MTUNE_NATIVE)
9494 list (APPEND COMMON_COMPILE_FLAGS "-mtune=native" )
9595 endif ()
96+ elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU" )
97+ check_cxx_compiler_flag("-mtune=native" COMPILER_SUPPORTS_MTUNE_NATIVE)
98+ if (COMPILER_SUPPORTS_MTUNE_NATIVE)
99+ list (APPEND COMMON_COMPILE_FLAGS "-mtune=native" )
100+ endif ()
96101 endif ()
97102endif ()
98103
99104if (NOT NONEON)
100105 set (OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
101106 set (CMAKE_REQUIRED_FLAGS "" )
102- check_cxx_source_compiles("
103- #include <arm_neon.h>
104- int main() {
105- float32x4_t vec = vdupq_n_f32(0.0f);
106- (void)vec;
107- return 0;
108- }
109- " HYPHY_HAVE_NEON)
107+ check_cxx_source_compiles("#include <arm_neon.h>\n int main() {\n float32x4_t vec = vdupq_n_f32(0.0f);\n (void)vec;\n return 0;\n }\n " HYPHY_HAVE_NEON)
110108 if (HYPHY_HAVE_NEON)
111109 add_compile_definitions (_SLKP_USE_ARM_NEON)
112110 endif ()
113111 set (CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS} )
114112endif ()
115113
114+ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" )
115+ list (APPEND COMMON_COMPILE_FLAGS "-Wno-overloaded-virtual" )
116+ list (APPEND COMMON_COMPILE_FLAGS "-Wno-maybe-uninitialized" )
117+ endif ()
118+
116119if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
117120 if (NOT HYPHY_HAVE_NEON AND NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten" )
118- if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" )
119- list (APPEND COMMON_COMPILE_FLAGS "-Wno-overloaded-virtual" )
120- endif ()
121121 endif ()
122122 if (NOT NOAVX)
123123 set (OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
124124 set (CMAKE_REQUIRED_FLAGS "-mavx2" )
125- check_cxx_source_compiles("
126- #include <immintrin.h>
127- int main() {
128- __m256d vec = _mm256_setzero_pd();
129- (void)vec;
130- return 0;
131- }
132- " HYPHY_HAVE_AVX2)
125+ check_cxx_source_compiles("#include <immintrin.h>\n int main() {\n __m256d vec = _mm256_setzero_pd();\n (void)vec;\n return 0;\n }\n " HYPHY_HAVE_AVX2)
133126 if (HYPHY_HAVE_AVX2)
134127 list (APPEND HYPHY_SIMD_FLAGS "-mavx2" )
135128 add_compile_definitions (_SLKP_USE_AVX_INTRINSICS)
136129 set (CMAKE_REQUIRED_FLAGS "-mfma" )
137- check_cxx_source_compiles("
138- #include <immintrin.h>
139- int main() {
140- __m256d vec = _mm256_setzero_pd();
141- (void)vec;
142- return 0;
143- }
144- " HYPHY_HAVE_FMA)
130+ check_cxx_source_compiles("#include <immintrin.h>\n int main() {\n __m256d vec = _mm256_setzero_pd();\n (void)vec;\n return 0;\n }\n " HYPHY_HAVE_FMA)
145131 if (HYPHY_HAVE_FMA)
146132 list (APPEND HYPHY_SIMD_FLAGS "-mfma" )
147133 add_compile_definitions (_SLKP_USE_FMA3_INTRINSICS)
@@ -151,14 +137,7 @@ int main() {
151137 elseif (NOT NOSSE4)
152138 set (OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS} )
153139 set (CMAKE_REQUIRED_FLAGS "-msse4.1" )
154- check_cxx_source_compiles("
155- #include <smmintrin.h>
156- int main() {
157- __m128i vec = _mm_setzero_si128();
158- (void)vec;
159- return 0;
160- }
161- " HYPHY_HAVE_SSE41)
140+ check_cxx_source_compiles("#include <smmintrin.h>\n int main() {\n __m128i vec = _mm_setzero_si128();\n (void)vec;\n return 0;\n }\n " HYPHY_HAVE_SSE41)
162141 if (HYPHY_HAVE_SSE41)
163142 list (APPEND HYPHY_SIMD_FLAGS "-msse4.1" )
164143 add_compile_definitions (_SLKP_USE_SSE_INTRINSICS)
@@ -277,7 +256,7 @@ install(TARGETS hyphy RUNTIME DESTINATION bin)
277256# Other Executables
278257#------------------------------------------------------------------------------
279258if (MPI_FOUND)
280- add_executable (HYPHYMPI EXCLUDE_FROM_ALL ${SRC_COMMON} ${SRC_UNIXMAIN} )
259+ add_executable (HYPHYMPI ${SRC_COMMON} ${SRC_UNIXMAIN} )
281260 target_compile_options (HYPHYMPI PRIVATE ${COMMON_COMPILE_FLAGS} ${HYPHY_SIMD_FLAGS} )
282261 target_compile_definitions (HYPHYMPI PRIVATE
283262 __AFYP_REWRITE_BGM__
@@ -307,7 +286,7 @@ if(MPI_FOUND)
307286 target_include_directories (HYPHYMPI PRIVATE ${ZLIB_INCLUDE_DIRS} )
308287 target_compile_definitions (HYPHYMPI PRIVATE __ZLIB__)
309288 endif ()
310- install (TARGETS HYPHYMPI RUNTIME DESTINATION bin OPTIONAL )
289+ install (TARGETS HYPHYMPI RUNTIME DESTINATION bin)
311290endif ()
312291
313292add_executable (HYPHYDEBUG EXCLUDE_FROM_ALL ${SRC_COMMON} ${SRC_UNIXMAIN} )
0 commit comments