diff --git a/.github/workflows/ba-windows.yml b/.github/workflows/ba-windows.yml index 613134dff0c4bf40478747b89b6e11498919654c..efd347dfa9b08e121d06b38fb65ec25a662177c5 100644 --- a/.github/workflows/ba-windows.yml +++ b/.github/workflows/ba-windows.yml @@ -67,6 +67,22 @@ jobs: dir deps/include dir deps/lib + - name: setup Eigen3 + shell: powershell + run: | + Get-Date -Format G + $Env:Path += ";C:\msys64\usr\bin" + cd ${{github.workspace}} + mkdir eigen + Get-Date -Format G + wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip -O ${{runner.temp}}\eigen.zip + Get-Date -Format G + 7z x ${{runner.temp}}\eigen.zip -oeigen + Get-Date -Format G + dir eigen + dir eigen/eigen-3.3.7 + dir eigen/eigen-3.3.7/Eigen/src + - name: Install Python packages run: | python -m pip install --upgrade pip @@ -132,13 +148,14 @@ jobs: run: | call "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat" set OPTLIBS=${{github.workspace}}\deps + set EIGENDIR=${{github.workspace}}\eigen\eigen-3.3.7 set QTDIR=${{github.workspace}}\qt5\Qt\5.14.2\msvc2017_64 set PATH=${{github.workspace}};%OPTLIBS%\lib;%QTDIR%\bin;%PATH% cd ${{github.workspace}} dir mkdir build cd build - cmake -G "Visual Studio 16 2019" -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_INCLUDE_PATH=%OPTLIBS%/include -DCMAKE_LIBRARY_PATH=%OPTLIBS%/lib -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" .. + cmake -G "Visual Studio 16 2019" -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_INCLUDE_PATH=%OPTLIBS%/include -DCMAKE_LIBRARY_PATH=%OPTLIBS%/lib -DEIGEN3_INCLUDE_DIRS=%EIGENDIR% -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" .. ccache -z ccache -p cmake --build . --config Release -j4 diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt index 13008419645622122ddc6602d339307a4e4cfce6..e5f7e49084de4010a2feed48793745f5984e5026 100644 --- a/Core/CMakeLists.txt +++ b/Core/CMakeLists.txt @@ -153,7 +153,7 @@ target_include_directories(${library_name} ${tspectrum_INCLUDE_DIR} ${Cerf_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/ThirdParty/Core/cerf_wrapper # TEMPORARY - SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR} + SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIRS} ) target_link_libraries(${library_name} ${Boost_LIBRARIES} ${FFTW3_LIBRARIES} ${GSL_LIBRARIES} ${tspectrum_LIBRARY} ${Cerf_LIBRARIES}) diff --git a/Examples/cpp/CylindersAndPrisms/CMakeLists.txt b/Examples/cpp/CylindersAndPrisms/CMakeLists.txt index 3094bc295136d86f39378b7b64c52cdaba40d8e3..9805e8f2a48031bda0754e2dbc84565604266839 100644 --- a/Examples/cpp/CylindersAndPrisms/CMakeLists.txt +++ b/Examples/cpp/CylindersAndPrisms/CMakeLists.txt @@ -22,11 +22,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../modules) find_package(BornAgain REQUIRED) find_package(Eigen3 REQUIRED) -include_as_system_directory("${EIGEN3_INCLUDE_DIR}") -include_directories( - ${BORNAGAIN_INCLUDE_DIR} -) +include_as_system_directory("${EIGEN3_INCLUDE_DIRS}") +include_directories(${BORNAGAIN_INCLUDE_DIR}) -target_link_libraries(CylindersAndPrisms - ${BORNAGAIN_LIBRARIES} -) +target_link_libraries(CylindersAndPrisms ${BORNAGAIN_LIBRARIES}) diff --git a/Tests/Functional/Core/MPI/CMakeLists.txt b/Tests/Functional/Core/MPI/CMakeLists.txt index ce919177e1dfaeccbb6cba92b559a75ecd20b2f7..7d804db79765cf3720a4761ed62f7a8b81d01926 100644 --- a/Tests/Functional/Core/MPI/CMakeLists.txt +++ b/Tests/Functional/Core/MPI/CMakeLists.txt @@ -7,7 +7,7 @@ find_package(MPI REQUIRED) # include dirs include_directories( ${MPI_CXX_INCLUDE_PATH} - ${EIGEN3_INCLUDE_DIR} + ${EIGEN3_INCLUDE_DIRS} ${BornAgainCore_INCLUDE_DIRS} ) diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake index fad9bcf76da9e1141c5b4ae444d49e6128270fcb..8513ee8b911ecef5bfccf660b42a20d3c4fa9c28 100644 --- a/cmake/modules/SearchInstalledSoftware.cmake +++ b/cmake/modules/SearchInstalledSoftware.cmake @@ -7,7 +7,11 @@ endif() find_package(Threads REQUIRED) find_package(FFTW3 REQUIRED) find_package(GSL REQUIRED) -find_package(Eigen3 3.3 REQUIRED) # no need for FindEigen3, as Eigen provides Eigen3Config.cmake +if(WIN32) + message("Eigen3 include dirs hopefully given on the command line: ${EIGEN3_INCLUDE_DIRS}") +else() + find_package(Eigen3 3.3 REQUIRED) # no need for FindEigen3, as Eigen provides Eigen3Config.cmake +endif() find_package(Cerf REQUIRED) message(STATUS "Cerf found=${Cerf_FOUND} lib=${Cerf_LIBRARIES} inc=${Cerf_INCLUDE_DIR} version={Cerf_VERSION}")