@ -49,6 +49,7 @@ if(NOT CMAKE_BUILD_TYPE)
set ( CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE )
message ( STATUS "Setting default build type: ${CMAKE_BUILD_TYPE}" )
endif ( )
string ( TOLOWER ${ CMAKE_BUILD_TYPE } CMAKE_BUILD_TYPE_LOWER )
# A R C H d e f i n e s t h e t a r g e t a r c h i t e c t u r e , e i t h e r b y a n e x p l i c i t i d e n t i f i e r o r
# o n e o f t h e f o l l o w i n g t w o k e y w o r d s . B y d e f a u l t , A R C H a v a l u e o f ' n a t i v e ' :
@ -179,6 +180,17 @@ else()
endif ( )
option ( STATIC "Link libraries statically" ${ DEFAULT_STATIC } )
# T h i s i s a C M a k e b u i l t - i n s w i t c h t h a t c o n c e r n s i n t e r n a l l i b r a r i e s
if ( NOT DEFINED BUILD_SHARED_LIBS AND NOT STATIC AND CMAKE_BUILD_TYPE_LOWER STREQUAL "debug" )
set ( BUILD_SHARED_LIBS ON CACHE STRING "Build internal libs as shared" )
endif ( )
if ( BUILD_SHARED_LIBS )
message ( STATUS "Building internal libraries as shared" )
set ( PIC_FLAG "-fPIC" )
else ( )
message ( STATUS "Building internal libraries as static" )
endif ( )
if ( MINGW )
string ( REGEX MATCH "^[^/]:/[^/]*" msys2_install_path "${CMAKE_C_COMPILER}" )
message ( STATUS "MSYS location: ${msys2_install_path}" )
@ -365,8 +377,8 @@ else()
set ( COVERAGE_FLAGS "-fprofile-arcs -ftest-coverage --coverage" )
endif ( )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ")
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ")
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 -D_GNU_SOURCE ${MINGW_FLAG} ${STATIC_ASSERT_FLAG} ${WARNINGS} ${C_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG} ")
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D_GNU_SOURCE ${MINGW_FLAG} ${WARNINGS} ${CXX_WARNINGS} ${ARCH_FLAG} ${COVERAGE_FLAGS} ${PIC_FLAG} ")
# W i t h G C C 6 . 1 . 1 t h e c o m p i l e d b i n a r y m a l f u n c t i o n s d u e t o a l i a s i n g . U n t i l t h a t
# i s f i x e d i n t h e code ( Issue # 847 ) , f o r c e c o m p i l e r t o b e c o n s e r v a t i v e .