|
@@ -127,6 +127,19 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
|
|
|
message(FATAL_ERROR "No threading support found")
|
|
|
ENDIF()
|
|
|
|
|
|
+ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
|
|
+ set (CMAKE_COMPILER_IS_CLANGXX 1)
|
|
|
+ endif()
|
|
|
+ if ("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
|
|
+ set (CMAKE_COMPILER_IS_CLANG 1)
|
|
|
+ endif()
|
|
|
+ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
|
|
+ execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE CMAKE_C_COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
+ endif ()
|
|
|
+ if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
|
|
+ execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CMAKE_CXX_COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
+ endif ()
|
|
|
+
|
|
|
if (WIN32)
|
|
|
# On windows, the vcproj generator generates both windows and debug build capabilities, and the release mode is appended to the directory later
|
|
|
# This output location matches what our existing windows release scripts expect - might make sense to move out of tree sometime though
|
|
@@ -152,19 +165,17 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
|
|
|
endif ()
|
|
|
set ( EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/bin" )
|
|
|
set ( LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/libs" )
|
|
|
- if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
|
|
|
- set (CMAKE_COMPILER_IS_CLANGXX 1)
|
|
|
- endif()
|
|
|
- if ("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
|
|
|
- set (CMAKE_COMPILER_IS_CLANG 1)
|
|
|
- endif()
|
|
|
+
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
|
|
message ("${CMAKE_CXX_COMPILER_ID}")
|
|
|
- SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti -fPIC -fmessage-length=0 -Wformat -Wformat-security -Werror=return-type -Wformat-nonliteral -pthread")
|
|
|
+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti -fPIC -fmessage-length=0 -Wformat -Wformat-security -Wformat-nonliteral -pthread")
|
|
|
SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -rdynamic")
|
|
|
SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g -fno-inline-functions")
|
|
|
if (CMAKE_COMPILER_IS_GNUCXX)
|
|
|
SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g -fno-default-inline")
|
|
|
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.2.4 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.2.4)
|
|
|
+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type")
|
|
|
+ endif ()
|
|
|
endif ()
|
|
|
endif ()
|
|
|
if (CMAKE_COMPILER_IS_CLANGXX)
|
|
@@ -178,14 +189,6 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
|
|
|
endif ()
|
|
|
endif ()
|
|
|
|
|
|
- if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
|
|
|
- execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE CMAKE_C_COMPILER_VERSION)
|
|
|
- endif ()
|
|
|
-
|
|
|
- if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
|
|
|
- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CMAKE_CXX_COMPILER_VERSION)
|
|
|
- endif ()
|
|
|
-
|
|
|
macro(HPCC_ADD_EXECUTABLE target)
|
|
|
add_executable(${target} ${ARGN})
|
|
|
endmacro(HPCC_ADD_EXECUTABLE target)
|
|
@@ -337,9 +340,8 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
|
|
|
ENDIF()
|
|
|
|
|
|
IF (CMAKE_COMPILER_IS_GNUCXX)
|
|
|
- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GNUCXX_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
- IF ("${GNUCXX_VERSION}" VERSION_LESS "4.1.1")
|
|
|
- MESSAGE(FATAL_ERROR "You need Gnu c++ version 4.1.1 or later to build this project (version ${GNUCXX_VERSION} detected)")
|
|
|
+ IF ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "4.1.1")
|
|
|
+ MESSAGE(FATAL_ERROR "You need Gnu c++ version 4.1.1 or later to build this project (version ${CMAKE_CXX_COMPILER_VERSION} detected)")
|
|
|
ENDIF()
|
|
|
ENDIF()
|
|
|
ENDIF()
|