diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index bcbeaad1..c7477d09 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -157,7 +157,6 @@ jobs: run: > cmake -B ${{ steps.strings.outputs.build-output-dir }} -G "${{ matrix.generator }}" - -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }} -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} -DCMAKE_Fortran_COMPILER=${{ steps.setup-fortran.outputs.fc }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 1665da40..73a700da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,9 @@ set(PHAST_VERSION_MINOR "0") set(PHAST_VERSION_PATCH "0") set(PHAST_REVISION "9000") +include(CheckPIESupported) +check_pie_supported() + # set default windows installation path if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32) GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES) diff --git a/src/phast/CMakeLists.txt b/src/phast/CMakeLists.txt index 3db2ff03..11249fee 100644 --- a/src/phast/CMakeLists.txt +++ b/src/phast/CMakeLists.txt @@ -126,6 +126,7 @@ PhreeqcRM/src/RM_interface.F90 # phastf target add_library(phastf STATIC ${phastf_SOURCES}) +set_property(TARGET phastf PROPERTY POSITION_INDEPENDENT_CODE TRUE) # phastf defines target_compile_definitions(phastf @@ -329,6 +330,7 @@ PhreeqcRM/src/YAMLPhreeqcRM.h # PhreeqcRM target add_library(PhreeqcRM STATIC ${PhreeqcRM_SOURCES}) +set_property(TARGET PhreeqcRM PROPERTY POSITION_INDEPENDENT_CODE TRUE) # c++11 target_compile_features(PhreeqcRM PUBLIC cxx_std_11) @@ -401,6 +403,7 @@ endif() # phast3 target add_executable(phast3 ${phast3_SOURCES}) +set_property(TARGET phast3 PROPERTY POSITION_INDEPENDENT_CODE TRUE) # phast3 defines target_compile_definitions(phast3