From f31043a5e7a920fe8f8f3477bf8c863d1081b79b Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Tue, 14 Jan 2014 11:05:57 +0100 Subject: [PATCH] CMake: Release profile build inherits from Release, not Debug. --- CMakeLists.txt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 768b334ab..c39fe679c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,17 +46,20 @@ else() add_flags_cxx("-pthread") endif() + # Allow for a forced 32-bit build under 64-bit OS: if (FORCE_32) add_flags_cxx("-m32") add_flags_lnk("-m32") endif() -#have the compiler generate code spercificly targeted at the current machine on Linux + +# Have the compiler generate code specifically targeted at the current machine on Linux if(LINUX AND NOT CROSSCOMPILE) add_flags_cxx("-march=native") endif() + # Set lower warnings-level for the libraries: if (MSVC) # Remove /W3 from command line -- cannot just cancel it later with /w like in unix, MSVC produces a D9025 warning (option1 overriden by option2) @@ -71,16 +74,19 @@ else() set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -w") endif() + # Under clang, we need to disable ASM support in CryptoPP: if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") add_definitions(-DCRYPTOPP_DISABLE_ASM) endif() + # Under Windows, we need Lua as DLL; on *nix we need it linked statically: if (WIN32) add_definitions(-DLUA_BUILD_AS_DLL) endif() + # On Unix we use two dynamic loading libraries dl and ltdl. # Preference is for dl on unknown systems as it is specified in POSIX # the dynamic loader is used by lua and sqllite. @@ -92,6 +98,7 @@ if (UNIX) endif() endif() + # The Expat library is linked in statically, make the source files aware of that: add_definitions(-DXML_STATIC) @@ -105,6 +112,7 @@ else() set (LNK_PROFILING "-pg") endif() + # Declare the profiling configurations: SET(CMAKE_CXX_FLAGS_DEBUGPROFILE "${CMAKE_CXX_FLAGS_DEBUG} ${PCXX_ROFILING}" @@ -129,19 +137,19 @@ MARK_AS_ADVANCED( CMAKE_SHARED_LINKER_FLAGS_DEBUGPROFILE ) SET(CMAKE_CXX_FLAGS_RELEASEPROFILE - "${CMAKE_CXX_FLAGS_DEBUG} ${CXX_PROFILING}" + "${CMAKE_CXX_FLAGS_RELEASE} ${CXX_PROFILING}" CACHE STRING "Flags used by the C++ compiler during profile builds." FORCE ) SET(CMAKE_C_FLAGS_RELEASEPROFILE - "${CMAKE_C_FLAGS_DEBUG} ${CXX_PROFILING}" + "${CMAKE_C_FLAGS_RELEASE} ${CXX_PROFILING}" CACHE STRING "Flags used by the C compiler during profile builds." FORCE ) SET(CMAKE_EXE_LINKER_FLAGS_RELEASEPROFILE - "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${LNK_PROFILING}" + "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${LNK_PROFILING}" CACHE STRING "Flags used for linking binaries during profile builds." FORCE ) SET(CMAKE_SHARED_LINKER_FLAGS_RELEASEPROFILE - "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${LNK_PROFILING}" + "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${LNK_PROFILING}" CACHE STRING "Flags used by the shared libraries linker during profile builds." FORCE ) MARK_AS_ADVANCED(