diff --git a/CMake/compilerflags/AppleClang.cmake b/CMake/compilerflags/AppleClang.cmake index f84d6f27ec4a28bb86ad224f86b2866037a6a2e9..1d73a858fc16e0dffe3d2e647cb638196183b1ed 100644 --- a/CMake/compilerflags/AppleClang.cmake +++ b/CMake/compilerflags/AppleClang.cmake @@ -1,32 +1,20 @@ -############################################################################################################### -## -## apple clang -## -############################################################################################################### - ############################################################################################################# -# Flags +# compiler flags ############################################################################################################# -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-fPIC;-Wbackslash-newline-escape") -############################################################################################################# -# mt support -############################################################################################################# -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread") +# debug +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-g") # generates debug information. Works best with -O0. +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-O0") +# release +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "-O3") # optimization level (-O3: most optimization which also could result in larger binaries) -# test -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "-Wall") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-Werror") +# all +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fPIC") # position independent code for shared libraries ############################################################################################################# -# disable warning +# warnings ############################################################################################################# -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-deprecated") #deprecated header warning -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wcomment") #'/*' within block comment - - -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fext-numeric-literals") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wregister") +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder-ctor") diff --git a/CMake/compilerflags/Clang.cmake b/CMake/compilerflags/Clang.cmake index 4e473e381ff7d9dc36e0a910e4504d355fb0ca60..434be42697165ea347b2c2728e9cf836b66650af 100644 --- a/CMake/compilerflags/Clang.cmake +++ b/CMake/compilerflags/Clang.cmake @@ -1,31 +1,27 @@ -############################################################################################################### -## -## clang -## -############################################################################################################### - ############################################################################################################# -# Flags +# compiler flags ############################################################################################################# -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-fPIC;-Wbackslash-newline-escape") -############################################################################################################# -# mt support -############################################################################################################# -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread") +# debug +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-g") # generates debug information. Works best with -O0. +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-O0") +# release +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "-O3") # optimization level (-O3: most optimization which also could result in larger binaries) -############################################################################################################# -# disable warning -############################################################################################################# -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-deprecated") #deprecated header warning -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wcomment") #'/*' within block comment +# all +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fPIC") # position independent code for shared libraries -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fext-numeric-literals") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wregister") +############################################################################################################# +# warnings +############################################################################################################# +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder-ctor") -LIST(APPEND CAB_ADDITIONAL_LINK_PROPS "-lrt") \ No newline at end of file +############################################################################################################# +# linker options +############################################################################################################# +list(APPEND VF_LINK_OPTIONS -lrt) \ No newline at end of file diff --git a/CMake/compilerflags/GNU.cmake b/CMake/compilerflags/GNU.cmake index 771c550b87e5048ccbcfe534a1bf225804d9a44b..f44cafc66eced55f1cf28f05ca0ddc9ad24b3e7d 100644 --- a/CMake/compilerflags/GNU.cmake +++ b/CMake/compilerflags/GNU.cmake @@ -1,22 +1,31 @@ - ############################################################################################################# -# Flags +# compiler flags ############################################################################################################# -list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-g") # generates debug information. Works best with -O0. -list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O0") # optimization level (-O3: most optimization which also could result in larger binaries) + +# debug +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-g") # generates debug information. Works best with -O0. +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-O0") # no optimization + +# release +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "-O3") # optimization level (-O3: most optimization which also could result in larger binaries) + +# all list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fPIC") # position independent code for shared libraries LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-funroll-all-loops") + +############################################################################################################# +# warnings +############################################################################################################# list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-sign-compare") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fext-numeric-literals") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0") - +############################################################################################################# +# linker options +############################################################################################################# list(APPEND VF_LINK_OPTIONS -lgomp) list(APPEND VF_LINK_OPTIONS -lrt) - list(APPEND VF_LINK_OPTIONS -ldl) diff --git a/CMake/compilerflags/Intel.cmake b/CMake/compilerflags/Intel.cmake index 83cb9f74c500cc748a6a1e8c7440fa643d314451..a53998d93eec146de6158d80bad2302536b2c252 100644 --- a/CMake/compilerflags/Intel.cmake +++ b/CMake/compilerflags/Intel.cmake @@ -1,6 +1,6 @@ -############################################################################################################### -## intel -############################################################################################################### +############################################################################################################# +# compiler flags +############################################################################################################# #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O") #~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd654") @@ -13,20 +13,20 @@ #~ LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-wd266") #function "__GKfree" declared implicitly #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST -O3 -ip -ipo -fno-alias -mcmodel=medium -qopt-streaming-stores=always") -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1478") #auto_ptr warning from mu::Parser -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST;-O3;-ip;-fno-alias;-mcmodel=medium;-qopt-streaming-stores=always;-xCORE-AVX512;-qopt-zmm-usage=high") +# all +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST;-O3;-ip;-fno-alias;-mcmodel=medium;-qopt-streaming-stores=always;-xCORE-AVX512;-qopt-zmm-usage=high") -#Debug -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-g -traceback") +# debug +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-g -traceback") -############################################################################################################### -## mt support -############################################################################################################### -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread") +############################################################################################################# +# linker options +############################################################################################################# list(APPEND VF_LINK_OPTIONS -parallel) -list(APPEND VF_LINK_OPTIONS -irc) - +############################################################################################################# +# preprocessor definitions +############################################################################################################# # LIST(APPEND VF_COMPILER_DEFINITION MPICH_IGNORE_CXX_SEEK) # LIST(APPEND VF_COMPILER_DEFINITION MPICH_SKIP_MPICXX) diff --git a/CMake/compilerflags/MSVC.cmake b/CMake/compilerflags/MSVC.cmake index 4a535897ed8f74cb34baa539a828ac5b5b637004..256cb3341b273581df373edb258ca96b335ed5bf 100644 --- a/CMake/compilerflags/MSVC.cmake +++ b/CMake/compilerflags/MSVC.cmake @@ -1,29 +1,22 @@ -############################################################################################################### -## MSVC -############################################################################################################### +############################################################################################################# +# compiler flags +############################################################################################################# +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/bigobj") # increases that address capacity to 4,294,967,296 (2^32). +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-MP") # enable multi-threaded compiling -############################################################################################################### -## USE_UNSECURE_STL_VECTORS_RELEASE ? -############################################################################################################### -OPTION(USE_UNSECURE_STL_VECTORS_RELEASE "_SECURE_SCL=0" OFF) -IF(USE_UNSECURE_STL_VECTORS_RELEASE) - # More MSVC specific compilation flags - LIST(APPEND VF_COMPILER_DEFINITION _SECURE_SCL=0) - LIST(APPEND VF_COMPILER_DEFINITION _SCL_SECURE_NO_WARNINGS) -ENDIF() -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "/W1") -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "/Wall") +############################################################################################################# +# warnings +############################################################################################################# +list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4251") # disable needs to have dll interface -############################################################################################################### -## Flags -############################################################################################################### -LIST(APPEND VF_COMPILER_DEFINITION _CRT_SECURE_NO_DEPRECATE) # disable warnings promoting Microsoft's security enhanced CRT -#LIST(APPEND VF_COMPILER_DEFINITION _SCL_SECURE_NO_WARNINGS) # disable warnings triggered by Microsoft's checked iterators -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4996") # deprecated strcpy... -#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4800") # forcing value to bool 'true' or 'false' (performance warning) +############################################################################################################# +# preprocessor definitions +############################################################################################################# +list(APPEND VF_COMPILER_DEFINITION _CRT_SECURE_NO_DEPRECATE) # disable warnings promoting Microsoft's security enhanced CRT -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/bigobj") # increases that address capacity to 4,294,967,296 (2^32). -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-MP") # enable multi-threaded compiling - -LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4251") # disable needs to have dll interface \ No newline at end of file +option(USE_UNSECURE_STL_VECTORS_RELEASE "_SECURE_SCL=0" OFF) +if(USE_UNSECURE_STL_VECTORS_RELEASE) + list(APPEND VF_COMPILER_DEFINITION _SECURE_SCL=0) + list(APPEND VF_COMPILER_DEFINITION _SCL_SECURE_NO_WARNINGS) +endif() diff --git a/src/basics/CMakeLists.txt b/src/basics/CMakeLists.txt index ff6c0c122ee9d2fc738e0fe67bba48ba621a95e1..0b643212ad9c5da74e711d72da085c1fe670704e 100644 --- a/src/basics/CMakeLists.txt +++ b/src/basics/CMakeLists.txt @@ -1,7 +1,7 @@ include(Core/buildInfo.cmake) -vf_add_library(BUILDTYPE static EXCLUDE buildInfo.in.cpp VirtualFluidsDefinitions.in.h) +vf_add_library(BUILDTYPE static EXCLUDE buildInfo.in.cpp) vf_get_library_name (library_name) target_include_directories(${library_name} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Core)