Skip to content
Snippets Groups Projects
  • Ian Bell's avatar
    85f57bd3
    Everything compiles again. · 85f57bd3
    Ian Bell authored
    Scary warning from MSVC:
    4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\cmath(638): warning C4717: 'copysign<double,double,0>': recursive on all control paths, function will cause runtime stack overflow
    85f57bd3
    History
    Everything compiles again.
    Ian Bell authored
    Scary warning from MSVC:
    4>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\cmath(638): warning C4717: 'copysign<double,double,0>': recursive on all control paths, function will cause runtime stack overflow
CMakeLists.txt 1.96 KiB
cmake_minimum_required(VERSION 3.19)
project(teqp)

####  SETUP
set(CMAKE_CXX_STANDARD 17)

include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/externals/mcx/pymcx/include")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen")
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/externals/nlohmann_json")

set(BUILD_TESTING FALSE CACHE BOOL "Turn off Eigen tests")
set(Eigen3_DIR "${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen" CACHE INTERNAL "Path to Eigen, for autodiff")

set(AUTODIFF_BUILD_TESTS FALSE CACHE BOOL "No autodiff tests")
set(AUTODIFF_BUILD_PYTHON FALSE CACHE BOOL "No autodiff python")
set(AUTODIFF_BUILD_EXAMPLES FALSE CACHE BOOL "No autodiff examples")

add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen")
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/externals/autodiff")

if (NOT TEQP_NO_PYTHON)
    add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/externals/pybind11" "pybind11")
    pybind11_add_module(teqp "${CMAKE_CURRENT_SOURCE_DIR}/interface/pybind11_wrapper.cpp")
    target_link_libraries(teqp PRIVATE autodiff)
endif()

### TARGETS
add_executable(main "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp")
target_link_libraries(main autodiff)

add_executable(multifluid "${CMAKE_CURRENT_SOURCE_DIR}/src/multifluid.cpp")
if (MSVC)
    target_sources(multifluid PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen/debug/msvc/eigen.natvis")
endif()
target_link_libraries(multifluid autodiff)

# add_executable(test_autodiff "${CMAKE_CURRENT_SOURCE_DIR}/src/test_autodiff.cpp")
# if (MSVC)
#     target_sources(test_autodiff PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen/debug/msvc/eigen.natvis")
# endif()
# target_link_libraries(test_autodiff autodiff)

add_executable(catch_tests "${CMAKE_CURRENT_SOURCE_DIR}/src/tests/catch_tests.cxx")
if (MSVC)
    target_sources(catch_tests PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen/debug/msvc/eigen.natvis")
endif()
target_link_libraries(catch_tests autodiff)