You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.7 KiB

2 years ago
cmake_minimum_required(VERSION 3.16)
project(static_simulation_gui)
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
## libigl options
#option(LIBIGL_USE_STATIC_LIBRARY "Use libigl as static library" OFF)
#option(LIBIGL_WITH_PREDICATES "Use exact predicates" ON)
#set(LIBIGL_WITH_OPENGL_GLFW_IMGUI ON CACHE BOOL "Use OpenGL" FORCE)
#set(LIBIGL_WITH_OPENGL_GLFW ON CACHE BOOL "Use GLFW" FORCE)
#set(LIBIGL_WITH_OPENGL ON CACHE BOOL "Use IMGUI" FORCE)
#set(LIBIGL_WITH_PNG ON CACHE BOOL "Use PNG" FORCE)
# Libigl
include(libigl)
# Enable the target igl::glfw
igl_include(core)
igl_include(glfw)
igl_include(imgui)
igl_include(png)
igl_include(predicates)
# Add your project files
file(GLOB SRC_FILES src/main.cpp src/viewer/*.cpp)
add_executable(${PROJECT_NAME} ${SRC_FILES})
target_link_libraries(${PROJECT_NAME} PUBLIC igl::core igl::glfw igl::imgui igl::png)
set(libigl_tutorial_tata_SOURCE_DIR /home/cflin/Documents/CppField/libs/libigl/cmake-build-debug/_deps/libigl_tutorial_tata-src)
target_compile_definitions(${PROJECT_NAME} PUBLIC TUTORIAL_SHARED_PATH="${libigl_tutorial_tata_SOURCE_DIR}")
# Eigen3
include(eigen)
target_link_libraries(${PROJECT_NAME} PUBLIC Eigen3::Eigen)
# JSON Parser
include(json)
target_link_libraries(${PROJECT_NAME} PUBLIC nlohmann::json)
# Logger
include(spdlog)
target_link_libraries(${PROJECT_NAME} PUBLIC spdlog::spdlog)
# TBB
include(tbb)
target_link_libraries(${PROJECT_NAME} PUBLIC TBB::tbb)
# subdirectory
# MshIO
add_subdirectory(${CMAKE_SOURCE_DIR}/3rd/MshIO)
add_subdirectory(${CMAKE_SOURCE_DIR}/src/static_sim)
# static sim
target_link_libraries(${PROJECT_NAME} PUBLIC StaticSim)
target_compile_definitions(${PROJECT_NAME} PUBLIC CMAKE_SOURCE_DIR="${CMAKE_SOURCE_DIR}")