diff --git a/CMakeLists.txt b/CMakeLists.txt index 5343720ab3fd84402b6e2562bb08808e659907d4..ca005650ca814bd351b74a414db439fa7bf4349c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ option(USE_CXX "CXX build in mode" OFF) option(BUILD_DOC "Build documentation" OFF) option(SFX_CHECK_NAN "Build documentation" OFF) option(USE_CONFIG_PARSER "Build config parser" ON) +option(VTUNE_FLAGS " " OFF) include(FetchContent) @@ -177,6 +178,14 @@ endif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") # set(CMAKE_Fortran_ARCHIVE_FINISH "$<CMAKE_RANLIB> -no_warning_for_no_symbols -c $<TARGET>") target_include_directories(sfx_lib PUBLIC ${CMAKE_BINARY_DIR}/modules/) +if(VTUNE_FLAGS) + target_compile_options(sfx + PUBLIC $<$<COMPILE_LANGUAGE:C>: -g -O2 -Xsprofile> + PUBLIC $<$<COMPILE_LANGUAGE:CXX>: -g -O2 -Xsprofile> + PUBLIC $<$<COMPILE_LANGUAGE:Fortran>: -g -O2>) +endif(VTUNE_FLAGS) +set(CMAKE_BUILD_TYPE Release) + if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") target_compile_options(sfx PUBLIC $<$<COMPILE_LANGUAGE:C>: -g >) @@ -184,11 +193,15 @@ if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") PUBLIC $<$<COMPILE_LANGUAGE:CXX>: -g >) target_compile_options(sfx PUBLIC $<$<COMPILE_LANGUAGE:CUDA>: -g >) - target_compile_options(sfx - PUBLIC $<$<COMPILE_LANGUAGE:Fortran>: -g -fbacktrace -ffpe-trap=zero,overflow,underflow >) + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel") + target_compile_options(sfx + PUBLIC $<$<COMPILE_LANGUAGE:Fortran>: -g -traceback -check all -ftrapuv -debug all >) + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + target_compile_options(sfx- + PUBLIC $<$<COMPILE_LANGUAGE:Fortran>: -g -fbacktrace -ffpe-trap=zero,overflow,underflow >) + endif() endif() - # copy data & configs on post build add_custom_command( TARGET sfx POST_BUILD