@ -26,20 +26,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
message ( STATUS "nanodbc compile: C++${CMAKE_CXX_STANDARD}" )
message ( STATUS "nanodbc compile: C++${CMAKE_CXX_STANDARD}" )
if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_COMPILER_IS_GNUCXX )
if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_COMPILER_IS_GNUCXX )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wnarrowing -Werror" )
include ( CheckCXXCompilerFlag )
include ( CheckCXXCompilerFlag )
if ( NOT NANODBC_DISABLE_LIBCXX )
check_cxx_compiler_flag ( "-stdlib=libc++" CXX_SUPPORTS_STDLIB )
if ( CXX_SUPPORTS_STDLIB )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++" )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++" )
set ( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -stdlib=libc++" )
set ( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -stdlib=libc++" )
endif ( )
set ( NANODBC_DISABLE_LIBCXX ${ NANODBC_DISABLE_LIBCXX } CACHE BOOL "Do not use libc++, if available." FORCE )
endif ( )
message ( STATUS "nanodbc build: Disable linking libc++ - ${NANODBC_DISABLE_LIBCXX}" )
elseif ( CMAKE_CXX_COMPILER_ID MATCHES "Intel" )
elseif ( CMAKE_CXX_COMPILER_ID MATCHES "Intel" )
string ( REGEX REPLACE "[/-]W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
string ( REGEX REPLACE "[/-]W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
if ( NOT ( CMAKE_VERSION VERSION_LESS 3.6.0 ) ) # C o m p i l e r f e a t u r e s f o r I n t e l i n C M a k e 3 . 6 +
if ( NOT ( CMAKE_VERSION VERSION_LESS 3.6.0 ) ) # C o m p i l e r f e a t u r e s f o r I n t e l i n C M a k e 3 . 6 +
@ -202,4 +189,4 @@ endif()
if ( NANODBC_ENABLE_UNICODE )
if ( NANODBC_ENABLE_UNICODE )
add_compile_definitions ( NANODBC_ENABLE_UNICODE )
add_compile_definitions ( NANODBC_ENABLE_UNICODE )
target_compile_definitions ( nanodbc PUBLIC NANODBC_ENABLE_UNICODE )
target_compile_definitions ( nanodbc PUBLIC NANODBC_ENABLE_UNICODE )
endif ( )
endif ( )