1 # message(STATUS "*top config-ix* CMAKE_SYSTEM : ${CMAKE_SYSTEM}") 2 3 include(CheckIncludeFile) 4 include(CheckIncludeFileCXX) 5 #include(CheckLibraryExists) 6 #include(CheckSymbolExists) 7 include(CheckFunctionExists) 8 #include(CheckCXXSourceCompiles) 9 #include(TestBigEndian) 10 include(CheckCCompilerFlag) 11 include(CheckCXXCompilerFlag) 12 13 # Flags 14 15 check_cxx_compiler_flag(-stdlib=libc++ LIBCODY_CXX_HAS_STDLIB_FLAG) 16 17 check_cxx_compiler_flag(-fno-enforce-eh-specs LIBCODY_HAS_NOENFORCE) 18 check_cxx_compiler_flag(-fno-stack-protector LIBCODY_HAS_NOSTACKPROT) 19 check_cxx_compiler_flag(-fno-threadsafe-statics LIBCODY_HAS_NOTHREADSAFESTATICS) 20 21 check_cxx_compiler_flag(-Wno-gnu-zero-variadic-macro-arguments LIBCODY_CXX_W_GZVMA) 22 23 # Address github issue #10 24 if (NOT CODY_WITHEXCEPTIONS) 25 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti") 26 if (LIBCODY_HAS_NOENFORCE) 27 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-enforce-eh-specs") 28 endif() 29 endif() 30 31 if (LIBCODY_HAS_NOSTACKPROT) 32 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-stack-protector") 33 endif() 34 if (LIBCODY_HAS_NOTHREADSAFESTATICS) 35 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics") 36 endif() 37 38 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W -Wall -Woverloaded-virtual -Wshadow") 39 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -Wno-unused-variable") 40 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers") 41 if (LIBCODY_CXX_W_GZVMA) 42 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-gnu-zero-variadic-macro-arguments") 43 endif () 44