summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2014-06-17 05:58:34 +0000
committerAndrew Stitcher <astitcher@apache.org>2014-06-17 05:58:34 +0000
commit2697d56b78841f84ba20cc1fc98b82e3a076b799 (patch)
tree735a962cc130336d292a7eafb56c310a577248ab
parent184c235e5f8dbacd57785557b1503003db8ee030 (diff)
downloadqpid-python-2697d56b78841f84ba20cc1fc98b82e3a076b799.tar.gz
QPID-5829: Rearrange CMake files to centralise some flags
- This means they can be used in the bindings. - It also means that individual modules do not have to specify to catch undefined symbols as this is the default beahviour now. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1603064 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--cpp/CMakeLists.txt93
-rw-r--r--cpp/bindings/qmf2/python/CMakeLists.txt4
-rw-r--r--cpp/bindings/qmf2/ruby/CMakeLists.txt2
-rw-r--r--cpp/bindings/qpid/perl/CMakeLists.txt4
-rw-r--r--cpp/bindings/qpid/python/CMakeLists.txt2
-rw-r--r--cpp/bindings/qpid/ruby/CMakeLists.txt4
-rw-r--r--cpp/src/CMakeLists.txt96
-rw-r--r--cpp/src/amqp.cmake1
-rw-r--r--cpp/src/rdma.cmake3
9 files changed, 103 insertions, 106 deletions
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index d057254d45..37e30fc67a 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -116,6 +116,99 @@ configure_file(
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+# Do not keep on linking against transitive library dependencies
+# TODO Need to rework CMake files to use INTERFACE_LINK_LIBRARIES target property
+# When that is done we can remove the next 4 lines completely
+set (CMAKE_LINK_INTERFACE_LIBRARIES "")
+if (DEFINED CMAKE_VERSION AND NOT CMAKE_VERSION VERSION_LESS "2.8.12")
+ cmake_policy(SET CMP0022 OLD)
+endif (DEFINED CMAKE_VERSION AND NOT CMAKE_VERSION VERSION_LESS "2.8.12")
+
+if (CMAKE_CXX_COMPILER_ID STREQUAL GNU)
+ # Warnings: Enable as many as possible, keep the code clean. Please
+ # do not disable warnings or remove -Werror without discussing on
+ # qpid-dev list.
+ #
+ # The following warnings are deliberately omitted, they warn on valid code.
+ # -Wunreachable-code -Wpadded -Winline
+ # -Wshadow - warns about boost headers.
+ set (WARNING_FLAGS
+ "-Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -Woverloaded-virtual")
+
+ set (CATCH_UNDEFINED "-Wl,--no-undefined")
+ # gcc on SunOS uses native linker whose "-z defs" is too fussy
+ if (CMAKE_SYSTEM_NAME STREQUAL SunOS)
+ set (CATCH_UNDEFINED "")
+ endif (CMAKE_SYSTEM_NAME STREQUAL SunOS)
+ set (NOSTRICT_ALIASING "-fno-strict-aliasing")
+ set (COMPILER_FLAGS "-fvisibility-inlines-hidden")
+ # gcc 4.1.2 on RHEL 5 needs -Wno-attributes to avoid an error that's fixed
+ # in later gcc versions.
+ execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
+ OUTPUT_VARIABLE GCC_VERSION)
+ if (GCC_VERSION VERSION_EQUAL 4.1.2)
+ message (STATUS "Cannot restrict library symbol export on gcc 4.1.2")
+ set (HIDE_SYMBOL_FLAGS "-fno-visibility-inlines-hidden")
+ else (GCC_VERSION VERSION_EQUAL 4.1.2)
+ set (HIDE_SYMBOL_FLAGS "-fno-visibility-inlines-hidden -fvisibility=hidden")
+ set (QPID_LINKMAP ${CMAKE_CURRENT_SOURCE_DIR}/src/qpid.linkmap)
+ set (LINK_VERSION_SCRIPT_FLAG "-Wl,--version-script=${QPID_LINKMAP}")
+ endif (GCC_VERSION VERSION_EQUAL 4.1.2)
+
+ if (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
+ add_definitions(-pthread)
+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
+ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CATCH_UNDEFINED} -pthread")
+ set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CATCH_UNDEFINED} -pthread")
+ endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
+endif (CMAKE_CXX_COMPILER_ID STREQUAL GNU)
+
+if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
+ set (COMPILER_FLAGS "-library=stlport4 -mt")
+ set (WARNING_FLAGS "+w")
+ set (CATCH_UNDEFINED "")
+ set (HIDE_SYMBOL_FLAGS "")
+endif (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
+
+if (CMAKE_SYSTEM_NAME STREQUAL Windows)
+ # Allow MSVC user to select 'WinXP-SP3/Windows Server 2003' as build target version
+ set (win32_winnt_default OFF)
+ if (MSVC)
+ set (win32_winnt_default ON)
+ endif (MSVC)
+ option(SET_WIN32_WINNT "In Windows-MSVC build: define _WIN32_WINNT=0x0502 to select target version: Windows XP with SP3" ${win32_winnt_default})
+endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
+
+if (CMAKE_CXX_COMPILER_ID STREQUAL MSVC)
+ add_definitions(
+ /D "_CRT_NONSTDC_NO_WARNINGS"
+ /D "NOMINMAX"
+ /D "WIN32_LEAN_AND_MEAN"
+ /wd4244
+ /wd4800
+ /wd4355
+ /wd4267
+ )
+
+ if (SET_WIN32_WINNT)
+ add_definitions(/D "_WIN32_WINNT=0x0502")
+ endif (SET_WIN32_WINNT)
+
+ # set the RelWithDebInfo compile/link switches to equal Release
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /O2 /Ob2 /D NDEBUG")
+ set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "/debug /INCREMENTAL:NO")
+
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bindings/qpid/dotnet/src)
+ # Set the windows version for the .NET Binding cpp project
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bindings/qpid/dotnet/src/org.apache.qpid.messaging.template.rc
+ ${CMAKE_CURRENT_BINARY_DIR}/src/windows/resources/org.apache.qpid.messaging.rc)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bindings/qpid/dotnet/src/AssemblyInfo-template.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/src/windows/generated_src/AssemblyInfo.cpp)
+ # Set the windows version for the .NET Binding sessionreceiver project
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bindings/qpid/dotnet/src/sessionreceiver/Properties/sessionreceiver-AssemblyInfo-template.cs
+ ${CMAKE_CURRENT_BINARY_DIR}/src/windows/generated_src/sessionreceiver-AssemblyInfo.cs)
+ endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/bindings/qpid/dotnet/src)
+endif (CMAKE_CXX_COMPILER_ID STREQUAL MSVC)
# Subdirectories
add_subdirectory(managementgen)
diff --git a/cpp/bindings/qmf2/python/CMakeLists.txt b/cpp/bindings/qmf2/python/CMakeLists.txt
index b000937ee6..941ebdb397 100644
--- a/cpp/bindings/qmf2/python/CMakeLists.txt
+++ b/cpp/bindings/qmf2/python/CMakeLists.txt
@@ -33,9 +33,9 @@ list(APPEND SWIG_MODULE_cqmf2_EXTRA_DEPS
${CMAKE_SOURCE_DIR}/include/qpid/swig_python_typemaps.i
)
swig_add_module(cqmf2 python ${CMAKE_CURRENT_SOURCE_DIR}/cqmf2.i)
-swig_link_libraries(cqmf2 qmf2 ${PYTHON_LIBRARIES})
+swig_link_libraries(cqmf2 qmf2 qpidmessaging qpidtypes ${PYTHON_LIBRARIES})
-set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing")
+set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "${NOSTRICT_ALIASING}")
include_directories(${PYTHON_INCLUDE_PATH}
${qpid-cpp_SOURCE_DIR}/include
${qpid-cpp_SOURCE_DIR}/bindings)
diff --git a/cpp/bindings/qmf2/ruby/CMakeLists.txt b/cpp/bindings/qmf2/ruby/CMakeLists.txt
index c40480ff4a..13e478e2dc 100644
--- a/cpp/bindings/qmf2/ruby/CMakeLists.txt
+++ b/cpp/bindings/qmf2/ruby/CMakeLists.txt
@@ -37,7 +37,7 @@ list(APPEND SWIG_MODULE_cqmf2_ruby_EXTRA_DEPS
${CMAKE_SOURCE_DIR}/include/qpid/swig_ruby_typemaps.i
)
swig_add_module(cqmf2_ruby ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i)
-swig_link_libraries(cqmf2_ruby qmf2 ${RUBY_LIBRARY})
+swig_link_libraries(cqmf2_ruby qmf2 qpidmessaging qpidtypes ${RUBY_LIBRARY})
##----------------------------------
## Install the complete Ruby binding
diff --git a/cpp/bindings/qpid/perl/CMakeLists.txt b/cpp/bindings/qpid/perl/CMakeLists.txt
index 540c0da2de..49073105c8 100644
--- a/cpp/bindings/qpid/perl/CMakeLists.txt
+++ b/cpp/bindings/qpid/perl/CMakeLists.txt
@@ -29,9 +29,9 @@ list(APPEND SWIG_MODULE_cqpid_perl_EXTRA_DEPS
${CMAKE_CURRENT_SOURCE_DIR}/../../../include/qpid/swig_perl_typemaps.i
)
swig_add_module(cqpid_perl perl ${CMAKE_CURRENT_SOURCE_DIR}/perl.i)
-swig_link_libraries(cqpid_perl qpidmessaging qpidtypes qmf2 ${PERL_LIBRARY})
+swig_link_libraries(cqpid_perl qpidmessaging qpidtypes ${PERL_LIBRARY})
+set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "${NOSTRICT_ALIASING}")
-set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing")
include_directories(${PERL_INCLUDE_PATH}
${qpid-cpp_SOURCE_DIR}/include
${qpid-cpp_SOURCE_DIR}/bindings)
diff --git a/cpp/bindings/qpid/python/CMakeLists.txt b/cpp/bindings/qpid/python/CMakeLists.txt
index 56ea0e9349..6bc07fc589 100644
--- a/cpp/bindings/qpid/python/CMakeLists.txt
+++ b/cpp/bindings/qpid/python/CMakeLists.txt
@@ -34,8 +34,8 @@ list(APPEND SWIG_MODULE_qpid_messaging_EXTRA_DEPS
)
swig_add_module(qpid_messaging python ${CMAKE_CURRENT_SOURCE_DIR}/qpid_messaging.i)
swig_link_libraries(qpid_messaging qpidmessaging qpidtypes ${PYTHON_LIBRARIES})
+set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "${NOSTRICT_ALIASING}")
-set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing")
include_directories(${PYTHON_INCLUDE_PATH}
${qpid-cpp_SOURCE_DIR}/include
${qpid-cpp_SOURCE_DIR}/bindings)
diff --git a/cpp/bindings/qpid/ruby/CMakeLists.txt b/cpp/bindings/qpid/ruby/CMakeLists.txt
index f80f134366..6ffabddcbb 100644
--- a/cpp/bindings/qpid/ruby/CMakeLists.txt
+++ b/cpp/bindings/qpid/ruby/CMakeLists.txt
@@ -46,9 +46,9 @@ list(APPEND SWIG_MODULE_cqpid_ruby_EXTRA_DEPS
${CMAKE_SOURCE_DIR}/include/qpid/swig_ruby_typemaps.i
)
swig_add_module(cqpid_ruby ruby ${CMAKE_CURRENT_SOURCE_DIR}/ruby.i)
-swig_link_libraries(cqpid_ruby qpidmessaging qpidtypes qmf2 ${RUBY_LIBRARY})
+swig_link_libraries(cqpid_ruby qpidmessaging qpidtypes ${RUBY_LIBRARY})
-set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing")
+set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "${NOSTRICT_ALIASING}")
##----------------------------------
## Install the complete Ruby binding
diff --git a/cpp/src/CMakeLists.txt b/cpp/src/CMakeLists.txt
index bdbef85f9a..7325e86f92 100644
--- a/cpp/src/CMakeLists.txt
+++ b/cpp/src/CMakeLists.txt
@@ -154,92 +154,6 @@ if (VALGRIND_FOUND)
option(ENABLE_VALGRIND "Use valgrind to detect run-time problems" ON)
endif (VALGRIND_FOUND)
-# Do not keep on linking against transitive library dependencies
-# TODO Need to rework CMake files to use INTERFACE_LINK_LIBRARIES target property
-# When that is done we can remove the next 4 lines completely
-set (CMAKE_LINK_INTERFACE_LIBRARIES "")
-if (DEFINED CMAKE_VERSION AND NOT CMAKE_VERSION VERSION_LESS "2.8.12")
- cmake_policy(SET CMP0022 OLD)
-endif (DEFINED CMAKE_VERSION AND NOT CMAKE_VERSION VERSION_LESS "2.8.12")
-
-if (CMAKE_COMPILER_IS_GNUCXX)
- # Warnings: Enable as many as possible, keep the code clean. Please
- # do not disable warnings or remove -Werror without discussing on
- # qpid-dev list.
- #
- # The following warnings are deliberately omitted, they warn on valid code.
- # -Wunreachable-code -Wpadded -Winline
- # -Wshadow - warns about boost headers.
- set (WARNING_FLAGS
- "-Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith -Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var -Winvalid-pch -Wno-system-headers -Woverloaded-virtual")
-
- set (CATCH_UNDEFINED "-Wl,--no-undefined")
- # gcc on SunOS uses native linker whose "-z defs" is too fussy
- if (CMAKE_SYSTEM_NAME STREQUAL SunOS)
- set (CATCH_UNDEFINED "")
- endif (CMAKE_SYSTEM_NAME STREQUAL SunOS)
- set (COMPILER_FLAGS "-fvisibility-inlines-hidden")
- # gcc 4.1.2 on RHEL 5 needs -Wno-attributes to avoid an error that's fixed
- # in later gcc versions.
- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
- OUTPUT_VARIABLE GCC_VERSION)
- if (GCC_VERSION VERSION_EQUAL 4.1.2)
- message (STATUS "Cannot restrict library symbol export on gcc 4.1.2")
- set (HIDE_SYMBOL_FLAGS "-fno-visibility-inlines-hidden")
- else (GCC_VERSION VERSION_EQUAL 4.1.2)
- set (HIDE_SYMBOL_FLAGS "-fno-visibility-inlines-hidden -fvisibility=hidden")
- set (QPID_LINKMAP ${CMAKE_CURRENT_SOURCE_DIR}/qpid.linkmap)
- set (LINK_VERSION_SCRIPT_FLAG "-Wl,--version-script=${QPID_LINKMAP}")
- endif (GCC_VERSION VERSION_EQUAL 4.1.2)
-endif (CMAKE_COMPILER_IS_GNUCXX)
-
-if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
- set (COMPILER_FLAGS "-library=stlport4 -mt")
- set (WARNING_FLAGS "+w")
- set (CATCH_UNDEFINED "")
- set (HIDE_SYMBOL_FLAGS "")
-endif (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
-
-if (CMAKE_SYSTEM_NAME STREQUAL Windows)
- # Allow MSVC user to select 'WinXP-SP3/Windows Server 2003' as build target version
- set (win32_winnt_default OFF)
- if (MSVC)
- set (win32_winnt_default ON)
- endif (MSVC)
- option(SET_WIN32_WINNT "In Windows-MSVC build: define _WIN32_WINNT=0x0502 to select target version: Windows XP with SP3" ${win32_winnt_default})
-endif (CMAKE_SYSTEM_NAME STREQUAL Windows)
-
-if (MSVC)
- add_definitions(
- /D "_CRT_NONSTDC_NO_WARNINGS"
- /D "NOMINMAX"
- /D "WIN32_LEAN_AND_MEAN"
- /wd4244
- /wd4800
- /wd4355
- /wd4267
- )
-
- if (SET_WIN32_WINNT)
- add_definitions(/D "_WIN32_WINNT=0x0502")
- endif (SET_WIN32_WINNT)
-
- # set the RelWithDebInfo compile/link switches to equal Release
- set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /O2 /Ob2 /D NDEBUG")
- set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "/debug /INCREMENTAL:NO")
-
- if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../bindings/qpid/dotnet/src)
- # Set the windows version for the .NET Binding cpp project
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../bindings/qpid/dotnet/src/org.apache.qpid.messaging.template.rc
- ${CMAKE_CURRENT_BINARY_DIR}/windows/resources/org.apache.qpid.messaging.rc)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../bindings/qpid/dotnet/src/AssemblyInfo-template.cpp
- ${CMAKE_CURRENT_BINARY_DIR}/windows/generated_src/AssemblyInfo.cpp)
- # Set the windows version for the .NET Binding sessionreceiver project
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../bindings/qpid/dotnet/src/sessionreceiver/properties/sessionreceiver-AssemblyInfo-template.cs
- ${CMAKE_CURRENT_BINARY_DIR}/windows/generated_src/sessionreceiver-AssemblyInfo.cs)
- endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../bindings/qpid/dotnet/src)
-endif (MSVC)
-
option(ENABLE_WARNINGS "Enable lots of compiler warnings (recommended)" ON)
if (NOT ENABLE_WARNINGS)
set (WARNING_FLAGS "")
@@ -571,8 +485,7 @@ if (BUILD_XML)
target_link_libraries (xml xerces-c xqilla qpidbroker qpidcommon)
set_target_properties (xml PROPERTIES
PREFIX ""
- COMPILE_DEFINITIONS _IN_QPID_BROKER
- LINK_FLAGS "${CATCH_UNDEFINED}")
+ COMPILE_DEFINITIONS _IN_QPID_BROKER)
install (TARGETS xml
DESTINATION ${QPIDD_MODULE_DIR}
COMPONENT ${QPID_COMPONENT_BROKER})
@@ -666,8 +579,7 @@ if (BUILD_HA)
${Boost_PROGRAM_OPTIONS_LIBRARY})
set_target_properties (ha PROPERTIES
PREFIX ""
- COMPILE_DEFINITIONS _IN_QPID_BROKER
- LINK_FLAGS "${CATCH_UNDEFINED}")
+ COMPILE_DEFINITIONS _IN_QPID_BROKER)
install (TARGETS ha
DESTINATION ${QPIDD_MODULE_DIR}
COMPONENT ${QPID_COMPONENT_BROKER})
@@ -752,10 +664,6 @@ else (CMAKE_SYSTEM_NAME STREQUAL Windows)
)
if (CMAKE_SYSTEM_NAME STREQUAL Linux)
- add_definitions(-pthread)
- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
- set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CATCH_UNDEFINED} -pthread")
- set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -pthread")
# On Linux override memory status module
set (qpid_memstat_module
qpid/sys/posix/MemStat.cpp
diff --git a/cpp/src/amqp.cmake b/cpp/src/amqp.cmake
index 97da484a80..85617ec59c 100644
--- a/cpp/src/amqp.cmake
+++ b/cpp/src/amqp.cmake
@@ -104,7 +104,6 @@ if (BUILD_AMQP)
target_link_libraries (amqp qpidtypes qpidbroker qpidcommon ${Proton_LIBRARIES})
set_target_properties (amqp PROPERTIES
PREFIX ""
- LINK_FLAGS "${CATCH_UNDEFINED}"
COMPILE_DEFINITIONS _IN_QPID_BROKER)
install (TARGETS amqp
diff --git a/cpp/src/rdma.cmake b/cpp/src/rdma.cmake
index 7c0ec66bf9..9db06269af 100644
--- a/cpp/src/rdma.cmake
+++ b/cpp/src/rdma.cmake
@@ -65,7 +65,6 @@ if (BUILD_RDMA)
add_library (rdmawrap SHARED ${rdma_SOURCES})
target_link_libraries (rdmawrap qpidcommon rdmacm ibverbs)
set_target_properties (rdmawrap PROPERTIES
- LINK_FLAGS "${CATCH_UNDEFINED}"
VERSION ${rdmawrap_version}
SOVERSION ${rdmawrap_version_major})
if (CMAKE_COMPILER_IS_GNUCXX)
@@ -81,7 +80,6 @@ if (BUILD_RDMA)
target_link_libraries (rdma qpidbroker qpidcommon rdmawrap)
set_target_properties (rdma PROPERTIES
COMPILE_DEFINITIONS _IN_QPID_BROKER
- LINK_FLAGS "${CATCH_UNDEFINED}"
PREFIX "")
if (CMAKE_COMPILER_IS_GNUCXX)
@@ -96,7 +94,6 @@ if (BUILD_RDMA)
add_library (rdmaconnector MODULE qpid/client/RdmaConnector.cpp)
target_link_libraries (rdmaconnector qpidclient qpidcommon rdmawrap)
set_target_properties (rdmaconnector PROPERTIES
- LINK_FLAGS "${CATCH_UNDEFINED}"
PREFIX "")
if (CMAKE_COMPILER_IS_GNUCXX)