Users now allowed to override configured flags

Added exe flags
Moved fags settings to common module.
This commit is contained in:
Fernando Cacciola 2008-05-08 16:13:30 +00:00
parent 1a5342299c
commit 5d7f524873
6 changed files with 91 additions and 82 deletions

View File

@ -8,20 +8,26 @@
set(CGAL_MINOR_VERSION "@CGAL_MINOR_VERSION@" )
set(CGAL_BUILD_VERSION "@CGAL_BUILD_VERSION@" )
set(CGAL_CXX_FLAGS "@CGAL_CXX_FLAGS@" )
set(CGAL_CXX_FLAGS_RELEASE "@CGAL_CXX_FLAGS_RELEASE@" )
set(CGAL_CXX_FLAGS_DEBUG "@CGAL_CXX_FLAGS_DEBUG@" )
set(CGAL_MODULE_LINKER_FLAGS "@CGAL_MODULE_LINKER_FLAGS@" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE "@CGAL_MODULE_LINKER_FLAGS_RELEASE@" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG "@CGAL_MODULE_LINKER_FLAGS_DEBUG@" )
set(CGAL_SHARED_LINKER_FLAGS "@CGAL_SHARED_LINKER_FLAGS@" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE "@CGAL_SHARED_LINKER_FLAGS_RELEASE@" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG "@CGAL_SHARED_LINKER_FLAGS_DEBUG@" )
set(CGAL_CXX_FLAGS "@CGAL_CXX_FLAGS@ ${CGAL_CXX_FLAGS}" )
set(CGAL_CXX_FLAGS_RELEASE "@CGAL_CXX_FLAGS_RELEASE@ ${CGAL_CXX_FLAGS_RELEASE}" )
set(CGAL_CXX_FLAGS_DEBUG "@CGAL_CXX_FLAGS_DEBUG@ ${CGAL_CXX_FLAGS_DEBUG}" )
set(CGAL_MODULE_LINKER_FLAGS "@CGAL_MODULE_LINKER_FLAGS@ ${CGAL_MODULE_LINKER_FLAGS}" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE "@CGAL_MODULE_LINKER_FLAGS_RELEASE@ ${CGAL_MODULE_LINKER_FLAGS_RELEASE}" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG "@CGAL_MODULE_LINKER_FLAGS_DEBUG@ ${CGAL_MODULE_LINKER_FLAGS_DEBUG}" )
set(CGAL_SHARED_LINKER_FLAGS "@CGAL_SHARED_LINKER_FLAGS@ ${CGAL_SHARED_LINKER_FLAGS}" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE "@CGAL_SHARED_LINKER_FLAGS_RELEASE@ ${CGAL_SHARED_LINKER_FLAGS_RELEASE}" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG "@CGAL_SHARED_LINKER_FLAGS_DEBUG@ ${CGAL_SHARED_LINKER_FLAGS_DEBUG}" )
set(CGAL_EXE_LINKER_FLAGS "@CGAL_EXE_LINKER_FLAGS@ ${CGAL_EXE_LINKER_FLAGS}" )
set(CGAL_EXE_LINKER_FLAGS_RELEASE "@CGAL_EXE_LINKER_FLAGS_RELEASE@ ${CGAL_EXE_LINKER_FLAGS_RELEASE}" )
set(CGAL_EXE_LINKER_FLAGS_DEBUG "@CGAL_EXE_LINKER_FLAGS_DEBUG@ ${CGAL_EXE_LINKER_FLAGS_DEBUG}" )
set(CGAL_INCLUDE_DIRS "@CGAL_INCLUDE_DIRS@" )
set(CGAL_CMAKE_MODULE_PATH "@CGAL_CMAKE_MODULE_PATH@" )
set(CGAL_LIBRARIES_DIR "@CGAL_LIBRARIES_DIR@" )
set(CGAL_LIBRARIES "@CGAL_LIBRARIES@" )
set(CGAL_RELEASE "@CGAL_RELEASE@" )
set(CGAL_DEBUG "@CGAL_DEBUG@" )
set(CGAL_3RD_PARTY_INCLUDE_DIRS "@CGAL_3RD_PARTY_INCLUDE_DIRS@" )
set(CGAL_3RD_PARTY_DEFINITIONS "@CGAL_3RD_PARTY_DEFINITIONS@" )
set(CGAL_3RD_PARTY_LIBRARIES_DIRS "@CGAL_3RD_PARTY_LIBRARIES_DIRS@" )

View File

@ -16,15 +16,20 @@
set(CGAL_MAJOR_VERSION "@CGAL_MAJOR_VERSION@" )
set(CGAL_MINOR_VERSION "@CGAL_MINOR_VERSION@" )
set(CGAL_BUILD_VERSION "@CGAL_BUILD_VERSION@" )
set(CGAL_CXX_FLAGS "@CGAL_CXX_FLAGS@" )
set(CGAL_CXX_FLAGS_RELEASE "@CGAL_CXX_FLAGS_RELEASE@" )
set(CGAL_CXX_FLAGS_DEBUG "@CGAL_CXX_FLAGS_DEBUG@" )
set(CGAL_MODULE_LINKER_FLAGS "@CGAL_MODULE_LINKER_FLAGS@" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE "@CGAL_MODULE_LINKER_FLAGS_RELEASE@" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG "@CGAL_MODULE_LINKER_FLAGS_DEBUG@" )
set(CGAL_SHARED_LINKER_FLAGS "@CGAL_SHARED_LINKER_FLAGS@" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE "@CGAL_SHARED_LINKER_FLAGS_RELEASE@" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG "@CGAL_SHARED_LINKER_FLAGS_DEBUG@" )
set(CGAL_CXX_FLAGS "@CGAL_CXX_FLAGS@ ${CGAL_CXX_FLAGS}" )
set(CGAL_CXX_FLAGS_RELEASE "@CGAL_CXX_FLAGS_RELEASE@ ${CGAL_CXX_FLAGS_RELEASE}" )
set(CGAL_CXX_FLAGS_DEBUG "@CGAL_CXX_FLAGS_DEBUG@ ${CGAL_CXX_FLAGS_DEBUG}" )
set(CGAL_MODULE_LINKER_FLAGS "@CGAL_MODULE_LINKER_FLAGS@ ${CGAL_MODULE_LINKER_FLAGS}" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE "@CGAL_MODULE_LINKER_FLAGS_RELEASE@ ${CGAL_MODULE_LINKER_FLAGS_RELEASE}" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG "@CGAL_MODULE_LINKER_FLAGS_DEBUG@ ${CGAL_MODULE_LINKER_FLAGS_DEBUG}" )
set(CGAL_SHARED_LINKER_FLAGS "@CGAL_SHARED_LINKER_FLAGS@ ${CGAL_SHARED_LINKER_FLAGS}" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE "@CGAL_SHARED_LINKER_FLAGS_RELEASE@ ${CGAL_SHARED_LINKER_FLAGS_RELEASE}" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG "@CGAL_SHARED_LINKER_FLAGS_DEBUG@ ${CGAL_SHARED_LINKER_FLAGS_DEBUG}" )
set(CGAL_EXE_LINKER_FLAGS "@CGAL_EXE_LINKER_FLAGS@ ${CGAL_EXE_LINKER_FLAGS}" )
set(CGAL_EXE_LINKER_FLAGS_RELEASE "@CGAL_EXE_LINKER_FLAGS_RELEASE@ ${CGAL_EXE_LINKER_FLAGS_RELEASE}" )
set(CGAL_EXE_LINKER_FLAGS_DEBUG "@CGAL_EXE_LINKER_FLAGS_DEBUG@ ${CGAL_EXE_LINKER_FLAGS_DEBUG}" )
set(CGAL_LIBRARIES "@CGAL_LIBRARIES@" )
set(CGAL_RELEASE "@CGAL_RELEASE@" )
set(CGAL_DEBUG "@CGAL_DEBUG@" )

View File

@ -12,16 +12,23 @@
set(CGAL_MAJOR_VERSION "@CGAL_MAJOR_VERSION@" )
set(CGAL_MINOR_VERSION "@CGAL_MINOR_VERSION@" )
set(CGAL_BUILD_VERSION "@CGAL_BUILD_VERSION@" )
set(CGAL_CXX_FLAGS "@CGAL_CXX_FLAGS@" )
set(CGAL_CXX_FLAGS_RELEASE "@CGAL_CXX_FLAGS_RELEASE@" )
set(CGAL_CXX_FLAGS_DEBUG "@CGAL_CXX_FLAGS_DEBUG@" )
set(CGAL_MODULE_LINKER_FLAGS "@CGAL_MODULE_LINKER_FLAGS@" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE "@CGAL_MODULE_LINKER_FLAGS_RELEASE@" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG "@CGAL_MODULE_LINKER_FLAGS_DEBUG@" )
set(CGAL_SHARED_LINKER_FLAGS "@CGAL_SHARED_LINKER_FLAGS@" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE "@CGAL_SHARED_LINKER_FLAGS_RELEASE@" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG "@CGAL_SHARED_LINKER_FLAGS_DEBUG@" )
set(CGAL_LIBRARIES "@CGAL_LIBRARIES@" )
set(CGAL_CXX_FLAGS "@CGAL_CXX_FLAGS@ ${CGAL_CXX_FLAGS}" )
set(CGAL_CXX_FLAGS_RELEASE "@CGAL_CXX_FLAGS_RELEASE@ ${CGAL_CXX_FLAGS_RELEASE}" )
set(CGAL_CXX_FLAGS_DEBUG "@CGAL_CXX_FLAGS_DEBUG@ ${CGAL_CXX_FLAGS_DEBUG}" )
set(CGAL_MODULE_LINKER_FLAGS "@CGAL_MODULE_LINKER_FLAGS@ ${CGAL_MODULE_LINKER_FLAGS}" )
set(CGAL_MODULE_LINKER_FLAGS_RELEASE "@CGAL_MODULE_LINKER_FLAGS_RELEASE@ ${CGAL_MODULE_LINKER_FLAGS_RELEASE}" )
set(CGAL_MODULE_LINKER_FLAGS_DEBUG "@CGAL_MODULE_LINKER_FLAGS_DEBUG@ ${CGAL_MODULE_LINKER_FLAGS_DEBUG}" )
set(CGAL_SHARED_LINKER_FLAGS "@CGAL_SHARED_LINKER_FLAGS@ ${CGAL_SHARED_LINKER_FLAGS}" )
set(CGAL_SHARED_LINKER_FLAGS_RELEASE "@CGAL_SHARED_LINKER_FLAGS_RELEASE@ ${CGAL_SHARED_LINKER_FLAGS_RELEASE}" )
set(CGAL_SHARED_LINKER_FLAGS_DEBUG "@CGAL_SHARED_LINKER_FLAGS_DEBUG@ ${CGAL_SHARED_LINKER_FLAGS_DEBUG}" )
set(CGAL_EXE_LINKER_FLAGS "@CGAL_EXE_LINKER_FLAGS@ ${CGAL_EXE_LINKER_FLAGS}" )
set(CGAL_EXE_LINKER_FLAGS_RELEASE "@CGAL_EXE_LINKER_FLAGS_RELEASE@ ${CGAL_EXE_LINKER_FLAGS_RELEASE}" )
set(CGAL_EXE_LINKER_FLAGS_DEBUG "@CGAL_EXE_LINKER_FLAGS_DEBUG@ ${CGAL_EXE_LINKER_FLAGS_DEBUG}" )
set(CGAL_LIBRARIES "@CGAL_LIBRARIES@ )
set(CGAL_RELEASE "@CGAL_RELEASE@" )
set(CGAL_DEBUG "@CGAL_DEBUG@" )
set(CGAL_INCLUDE_DIRS "$(CGAL_INSTALL_PREFIX)/@CGAL_INSTALL_INC_DIR@" )
set(CGAL_CMAKE_MODULE_PATH "$(CGAL_INSTALL_PREFIX)/@CGAL_INSTALL_CMAKE_DIR@" )

View File

@ -220,50 +220,7 @@ if( MSVC )
endif()
set(CMAKE_CXX_FLAGS "${CGAL_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ")
message( STATUS "Compiler flags: ${CMAKE_CXX_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_CXX_FLAGS_RELEASE "${CGAL_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}")
message( STATUS "Release compiler flags: ${CMAKE_CXX_FLAGS_RELEASE}" )
endif()
if ( CGAL_DEBUG )
set(CMAKE_CXX_FLAGS_DEBUG "${CGAL_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}")
message( STATUS "Debug compiler flags: ${CMAKE_CXX_FLAGS_DEBUG}" )
endif()
if ( BUILD_SHARED_LIBS )
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CGAL_SHARED_LINKER_FLAGS}")
message( STATUS "Shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${CGAL_SHARED_LINKER_FLAGS_RELEASE}")
message( STATUS "Release shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" )
endif()
if ( CGAL_DEBUG )
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${CGAL_SHARED_LINKER_FLAGS_DEBUG}")
message( STATUS "Debug shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" )
endif()
else()
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CGAL_MODULE_LINKER_FLAGS}")
message( STATUS "Module linker flags: ${CMAKE_MODULE_LINKER_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${CGAL_MODULE_LINKER_FLAGS_RELEASE}")
message( STATUS "Release module linker flags: ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}" )
endif()
if ( CGAL_DEBUG )
set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} ${CGAL_MODULE_LINKER_FLAGS_DEBUG}")
message( STATUS "Debug module linker flags: ${CMAKE_MODULE_LINKER_FLAGS_DEBUG}" )
endif()
endif()
include(CGAL_SetupFlags)
add_subdirectory(src)

View File

@ -328,6 +328,12 @@ To install CGAL, you should:
CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_DEBUG
For executables:
CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_DEBUG
You can override any of these variabes explicitely when calling cmake.
@ -344,7 +350,17 @@ To install CGAL, you should:
CGAL_SHARED_LINKER_FLAGS
CGAL_SHARED_LINKER_FLAGS_RELEASE
CGAL_SHARED_LINKER_FLAGS_DEBUG
CGAL_EXE_LINKER_FLAGS
CGAL_EXE_LINKER_FLAGS_RELEASE
CGAL_EXE_LINKER_FLAGS_DEBUG
These flags are defined at configuration time and their values are hard-coded into the
"CGALConfig.cmake" file generated by running CMake.
If you define these variables in the command line when executing cmake:
cmake -DCGAL_CXX_FLAGS=/W2 .
that value will be appended to the value defined in CGALConfig.cmake.
For Visual C++, CGAL_CXX_FLAGS is defined as:

View File

@ -1,45 +1,63 @@
set(CMAKE_CXX_FLAGS "${CGAL_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CGAL_CXX_FLAGS}")
message( STATUS "Compiler flags: ${CMAKE_CXX_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_CXX_FLAGS_RELEASE "${CGAL_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_RELEASE}")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CGAL_CXX_FLAGS_RELEASE}")
message( STATUS "Release compiler flags: ${CMAKE_CXX_FLAGS_RELEASE}" )
if ( NOT DEFINED CMAKE_BUILD_TYPE )
set ( CMAKE_BUILD_TYPE Release )
endif()
endif()
if ( CGAL_DEBUG )
set(CMAKE_CXX_FLAGS_DEBUG "${CGAL_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_DEBUG}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CGAL_CXX_FLAGS_DEBUG}")
message( STATUS "Debug compiler flags: ${CMAKE_CXX_FLAGS_DEBUG}" )
if ( NOT DEFINED CMAKE_BUILD_TYPE )
set ( CMAKE_BUILD_TYPE Debug )
endif()
endif()
if ( BUILD_SHARED_LIBS )
set(CMAKE_SHARED_LINKER_FLAGS " ${CGAL_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CGAL_SHARED_LINKER_FLAGS}")
message( STATUS "Shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CGAL_SHARED_LINKER_FLAGS_RELEASE} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${CGAL_SHARED_LINKER_FLAGS_RELEASE}")
message( STATUS "Release shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" )
endif()
if ( CGAL_DEBUG )
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CGAL_SHARED_LINKER_FLAGS_DEBUG} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} ${CGAL_SHARED_LINKER_FLAGS_DEBUG}")
message( STATUS "Debug shared linker flags: ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}" )
endif()
else()
set(CMAKE_MODULE_LINKER_FLAGS "${CGAL_MODULE_LINKER_FLAGS} ${CMAKE_MODULE_LINKER_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CGAL_MODULE_LINKER_FLAGS}")
message( STATUS "Module linker flags: ${CMAKE_MODULE_LINKER_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CGAL_MODULE_LINKER_FLAGS_RELEASE} ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}")
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${CGAL_MODULE_LINKER_FLAGS_RELEASE}")
message( STATUS "Release module linker flags: ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}" )
endif()
if ( CGAL_DEBUG )
set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CGAL_MODULE_LINKER_FLAGS_DEBUG} ${CMAKE_MODULE_LINKER_FLAGS_DEBUG}")
set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} ${CGAL_MODULE_LINKER_FLAGS_DEBUG}")
message( STATUS "Debug module linker flags: ${CMAKE_MODULE_LINKER_FLAGS_DEBUG}" )
endif()
endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CGAL_EXE_LINKER_FLAGS}")
message( STATUS "Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS}" )
if ( CGAL_RELEASE )
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${CGAL_EXE_LINKER_FLAGS_RELEASE}")
message( STATUS "Release Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS_RELEASE}" )
endif()
if ( CGAL_DEBUG )
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${CGAL_EXE_LINKER_FLAGS_DEBUG}")
message( STATUS "Debug Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS_DEBUG}" )
endif()