Home | History | Annotate | Line # | Download | only in cmake
      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