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