Changeset: 0721fc5e60fd for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0721fc5e60fd
Modified Files:
        CMakeLists.txt
        CMakeReadme.txt
Branch: cmake-fun
Log Message:

Fixed compilation and linking flags listening.


diffs (93 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -502,10 +502,10 @@ endfunction()
 
 if(${ENABLE_STRICT} STREQUAL "YES")
        if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$")
+               checkCompilerFlag("-W")
                checkCompilerFlag("-Werror")
                checkCompilerFlag("-Wall")
                checkCompilerFlag("-Wextra")
-               checkCompilerFlag("-W")
                checkCompilerFlag("-Werror-implicit-function-declaration")
                checkCompilerFlag("-Wpointer-arith")
                checkCompilerFlag("-Wundef")
@@ -539,20 +539,15 @@ if(${ENABLE_STRICT} STREQUAL "YES")
                checkCompilerFlag("-Wrestrict")
                checkCompilerFlag("-Wnested-externs")
                checkCompilerFlag("-Wno-char-subscripts")
-               if(${CMAKE_C_COMPILER_ID} STREQUAL "Clang")
-                       checkCompilerFlag("-Wunreachable-code")
-               endif()
+               checkCompilerFlag("-Wunreachable-code")
        elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel")
                if(CMAKE_C_COMPILER_VERSION VERSION_LESS 10)
                        addLinkerFlag("-i_dynamic" "-i_dynamic" 
"${LINK_OPTIONS}" LINK_OPTIONS)
-                       addLinkerFlag("-i_dynamic" "-i_dynamic" 
"${STATIC_LIBRARY_OPTIONS}" STATIC_LIBRARY_OPTIONS)
                else()
                        addLinkerFlag("-shared-intel" "-shared-intel" 
"${LINK_OPTIONS}" LINK_OPTIONS)
-                       addLinkerFlag("-shared-intel" "-shared-intel" 
"${STATIC_LIBRARY_OPTIONS}" STATIC_LIBRARY_OPTIONS)
                endif()
                if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 8.1 AND 
CMAKE_C_COMPILER_VERSION VERSION_LESS_EQUAL 11)
                        addLinkerFlag("-wd1418" "-wd1418" "${LINK_OPTIONS}" 
LINK_OPTIONS)
-                       addLinkerFlag("-wd1418" "-wd1418" 
"${STATIC_LIBRARY_OPTIONS}" STATIC_LIBRARY_OPTIONS)
                endif()
                set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -we140 -we147")
                if(CMAKE_C_COMPILER_VERSION VERSION_LESS 8 OR 
CMAKE_C_COMPILER_VERSION VERSION_GREATER 17)
@@ -594,9 +589,7 @@ if(NOT "${LINK_OPTIONS}" MATCHES "-Wl,-B
        set(PREV_LINK_OPTIONS "${LINK_OPTIONS}")
        set(LINK_OPTIONS "${LINK_OPTIONS} -Wl,-Bsymbolic-functions")
        check_c_compiler_flag("" HAVE_WL_BSYMBOLIC_FUNCTIONS)
-       if(HAVE_WL_BSYMBOLIC_FUNCTIONS)
-               set(STATIC_LIBRARY_OPTIONS "${STATIC_LIBRARY_OPTIONS} 
-Wl,-Bsymbolic-functions")
-       else()
+       if(NOT HAVE_WL_BSYMBOLIC_FUNCTIONS)
                set(LINK_OPTIONS "${PREV_LINK_OPTIONS}")
        endif()
 endif()
@@ -2135,9 +2128,12 @@ if(NOT ${ENABLE_SHP} STREQUAL "NO")
        set(HAVE_SHP YES)
 endif()
 
+set(CMAKE_C_LINK_FLAGS "${LINK_OPTIONS}" CACHE STRING "Link flags for all 
builds" FORCE)
 set(LINK_OPTIONS "${LINK_OPTIONS}" CACHE STRING "Link options for all builds" 
FORCE)
-set(STATIC_LIBRARY_OPTIONS "${STATIC_LIBRARY_OPTIONS}" CACHE STRING "Link 
options for static libraries for all builds" FORCE)
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${X_CFLAGS}" CACHE STRING "Compilation 
flags for all builds" FORCE)
+if(NOT "${X_CFLAGS}" STREQUAL "")
+       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${X_CFLAGS}")
+endif()
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Compilation flags for all 
builds" FORCE)
 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}" CACHE STRING "Debug flags" 
FORCE)
 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "Release 
flags" FORCE)
 set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}" CACHE 
STRING "RelWithDebugInfo flags" FORCE)
@@ -2145,8 +2141,9 @@ set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_
 
 site_name(BUILD_HOST)
 set(builtby "$ENV{USER}@${BUILD_HOST}")
-set(compilercall "${CMAKE_C_COMPILER}${CMAKE_C_FLAGS}")
-set(linkercall "${CMAKE_LINKER}${CMAKE_REQUIRED_FLAGS}")
+string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPER)
+set(compilercall "${CMAKE_C_COMPILER}${CMAKE_C_FLAGS} 
${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UPPER}}")
+set(linkercall "${CMAKE_LINKER}${CMAKE_C_LINK_FLAGS}")
 
 configure_file(monetdb_config.h.in 
${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/monetdb_config.h DESTINATION 
${INCLUDEDIR}/monetdb)
diff --git a/CMakeReadme.txt b/CMakeReadme.txt
--- a/CMakeReadme.txt
+++ b/CMakeReadme.txt
@@ -6,7 +6,7 @@ CMAKE_C_FLAGS - C compilation flags used
 CMAKE_C_FLAGS_DEBUG - C compilation flags used for Debug build
 CMAKE_C_FLAGS_RELEASE - C compilation flags used for Release build
 CMAKE_INSTALL_PREFIX - Installation directory
-LINK_OPTIONS - Linker options for all builds
+CMAKE_C_LINK_FLAGS - Linker options for all builds
 
 - Compilation options
 ENABLE_ASSERT
@@ -69,5 +69,4 @@ WITH_VALGRIND
 WITH_ZLIB
 
 Linux notes:
- - Make install doesn't run ldconfig, use LD_LIBRARY_PATH 
https://cmake.org/pipermail/cmake/2016-June/063721.html
  - libtools files are not generated yet.
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to