diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f5e99368d4d673a79a02ebf0496e6476a4a7bd9..805d1ea805264db093f1a472742b7b9fa8fd435c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,6 +33,7 @@ option(ENABLE_METIS "Enable Metis mesh partitioner" ON) option(ENABLE_NATIVE_FILE_CHOOSER "Enable native file chooser in GUI" ON) option(ENABLE_NETGEN "Enable Netgen mesh generator" ON) option(ENABLE_OCC "Enable OpenCASCADE geometrical models" ON) +option(ENABLE_OOFELIE "Set compiler options to match oofelie settings" OFF) option(ENABLE_OSMESA "Use OSMesa for offscreen rendering" OFF) option(ENABLE_PARSER "Build the GEO file parser" ON) option(ENABLE_POST "Build the post-processing module" ON) @@ -579,7 +580,9 @@ add_library(lib STATIC EXCLUDE_FROM_ALL ${GMSH_SRC}) set_target_properties(lib PROPERTIES OUTPUT_NAME Gmsh) if(MSVC) SET_TARGET_PROPERTIES(lib PROPERTIES DEBUG_POSTFIX d) -# INCLUDE(${CMAKE_SOURCE_DIR}/utils/misc/withOOFELIE.cmake) + if(ENABLE_OOFELIE) + INCLUDE(${CMAKE_SOURCE_DIR}/utils/misc/withOOFELIE.cmake) + endif(ENABLE_OOFELIE) endif(MSVC) if(HAVE_FLTK) diff --git a/utils/misc/withOOFELIE.cmake b/utils/misc/withOOFELIE.cmake index c2dfb674132fa0f82a0e09f82bb6d7e756f9e7b8..776de171f8af8d0fcfc4f819656e3a5ea3499150 100644 --- a/utils/misc/withOOFELIE.cmake +++ b/utils/misc/withOOFELIE.cmake @@ -1,28 +1,23 @@ -# Cmake file to compile Gmsh with the suitable compiler Flags -# in order to link gmsh with Oofelie. Uncomment the line : -# INCLUDE(${CMAKE_SOURCE_DIR}/utils/misc/withOOFELIE.cmake) -# in the top CMakeLists.txt file of the gmsh source tree. - -OPTION(ENABLE_OOFELIE "Set compiler options for building Gmsh as lib with oofelie compiler setting" ON) -IF(ENABLE_OOFELIE ) +# Cmake file to compile Gmsh with the suitable compiler Flags in order +# to link gmsh with Oofelie. If ENABLE_OOFELIE is set this file is +# included in the main CMakeLists.txt file. - SET_TARGET_PROPERTIES(lib PROPERTIES LINK_FLAGS_RELEASE "/nodefaultlib:LIBCMT") - STRING(REPLACE "/MD" "/MT /Ot" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) - STRING(REPLACE "/MDd" "/MTd /Ot" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - STRING(REPLACE "/MD" "/MT /Ot" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) - STRING(REPLACE "/MDd" "/MTd /Ot" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) - STRING(REPLACE "/O2" "/Ox" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) - STRING(REPLACE "/O2" "/Ox" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) - STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}) - STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE}) - STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}) +SET_TARGET_PROPERTIES(lib PROPERTIES LINK_FLAGS_RELEASE "/nodefaultlib:LIBCMT") +STRING(REPLACE "/MD" "/MT /Ot" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) +STRING(REPLACE "/MDd" "/MTd /Ot" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) +STRING(REPLACE "/MD" "/MT /Ot" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) +STRING(REPLACE "/MDd" "/MTd /Ot" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) +STRING(REPLACE "/O2" "/Ox" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) +STRING(REPLACE "/O2" "/Ox" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) +STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE}) +STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE}) +STRING(REPLACE "/INCREMENTAL:NO" "/INCREMENTAL:YES" CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}) - SET(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} CACHE STRING "CXX Compiler Flags for Release" FORCE) - SET(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} CACHE STRING "CXX Compiler Flags for Debug" FORCE) - SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "C Compiler Flags for Release" FORCE) - SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "C Compiler Flags for Debug" FORCE) - SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE} CACHE STRING "Lib Linker Flags for Release" FORCE) - SET(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE} CACHE STRING "Exe Linker Flags for Release" FORCE) - SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "Dll Linker Flags for Release" FORCE) - SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "Dll Linker Flags for Release" FORCE) -ENDIF(ENABLE_OOFELIE ) \ No newline at end of file +SET(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} CACHE STRING "CXX Compiler Flags for Release" FORCE) +SET(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG} CACHE STRING "CXX Compiler Flags for Debug" FORCE) +SET(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} CACHE STRING "C Compiler Flags for Release" FORCE) +SET(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG} CACHE STRING "C Compiler Flags for Debug" FORCE) +SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE} CACHE STRING "Lib Linker Flags for Release" FORCE) +SET(CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE} CACHE STRING "Exe Linker Flags for Release" FORCE) +SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "Dll Linker Flags for Release" FORCE) +SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE} CACHE STRING "Dll Linker Flags for Release" FORCE)