diff --git a/CMakeLists.txt b/CMakeLists.txt index dba32b7a..57cbebac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,13 +73,6 @@ if(NOT CMAKE_INSTALL_DOCDIR) set(CMAKE_INSTALL_DOCDIR share/doc/libifem1) endif() -if(NOT WIN32) - # Emit position-independent code, suitable for dynamic linking - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") - # Enable all warnings - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-parentheses") -endif() - # Generate build flags in build tree configure_file(${PROJECT_SOURCE_DIR}/cmake/Modules/IFEMFlags.cmake.in IFEMFlags.cmake @ONLY) diff --git a/cmake/Modules/FindIFEMDeps.cmake b/cmake/Modules/FindIFEMDeps.cmake index 9b588991..60b2bcfe 100644 --- a/cmake/Modules/FindIFEMDeps.cmake +++ b/cmake/Modules/FindIFEMDeps.cmake @@ -252,3 +252,13 @@ set(IFEM_CHECKCOMMITS_SCRIPT ${IFEM_PATH}/cmake/Scripts/CheckCommits.cmake) if(NOT CMAKE_INSTALL_DOCDIR) set(CMAKE_INSTALL_DOCDIR libifem1) endif() + +include(CheckCXXCompilerFlag) +check_cxx_compiler_flag(-Wall HAS_WALL) +check_cxx_compiler_flag(-Wno-parentheses HAS_PARENTHESES) +if(HAS_WALL) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") +endif() +if(HAS_PARENTHESES) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses") +endif()