cmake_minimum_required(VERSION 3.22) project(ProcessMesh) list(APPEND CMAKE_PREFIX_PATH "F:/OCC/demo/opencascade-install" ) set(EXTERNAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external") set(CMAKE_CXX_STANDARD 17) # set compile flags set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") add_executable(${PROJECT_NAME} src/main.cpp src/Utils/Utils.cpp) # add_library(${PROJECT_NAME}_dev src/Utils/Utils.cpp) target_include_directories(${PROJECT_NAME} PUBLIC src/Utils) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}/include) # Eigen3 target_include_directories(${PROJECT_NAME} PUBLIC ${EXTERNAL_DIR}/eigen-3.4.0) # libigl target_include_directories(${PROJECT_NAME} PUBLIC ${EXTERNAL_DIR}/libigl/include) # spdlog target_include_directories(${PROJECT_NAME} PUBLIC ${EXTERNAL_DIR}/spdlog/include) # MshIO add_subdirectory(${EXTERNAL_DIR}/MshIO) target_link_libraries(${PROJECT_NAME} PUBLIC mshio::mshio) # ²éÕÒ OpenMP find_package(OpenMP REQUIRED) if (OPENMP_FOUND) message("OPENMP FOUND") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}") endif () # OpenCascade find_package(OpenCASCADE REQUIRED) target_include_directories(${PROJECT_NAME} PUBLIC ${OpenCASCADE_INCLUDE_DIR}) # Boost #find_package(Boost REQUIRED COMPONENTS filesystem system) #target_link_libraries(${PROJECT_NAME}_dev PUBLIC Boost::filesystem Boost::system) # Adjust runtime environment for Visual Studio if (MSVC) set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_ENVIRONMENT "PATH=$<$:${OpenCASCADE_BINARY_DIR}d>$<$>:${OpenCASCADE_BINARY_DIR}>;%PATH%") endif() # Add linker options for Opencascade if (MSVC) message(STATUS "${OpenCASCADE_LIBRARIES}") foreach (LIB ${OpenCASCADE_LIBRARIES}) target_link_libraries(${PROJECT_NAME} PUBLIC ${OpenCASCADE_LIBRARY_DIR}/${LIB}.lib) target_link_libraries(${PROJECT_NAME} PUBLIC ${OpenCASCADE_LIBRARY_DIR}d/${LIB}.lib) endforeach() elseif (UNIX) foreach (LIB ${OpenCASCADE_LIBRARIES}) target_link_libraries(${PROJECT_NAME} PUBLIC debug ${OpenCASCADE_LIBRARY_DIR}/lib${LIB}.so) target_link_libraries(${PROJECT_NAME} PUBLIC optimized ${OpenCASCADE_LIBRARY_DIR}/lib${LIB}.so) endforeach() endif() #target_link_libraries(${PROJECT_NAME} PUBLIC ${PROJECT_NAME}_dev)