57 lines
1.5 KiB
CMake
57 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(OpenCAD)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
find_package(Qt6 COMPONENTS Widgets OpenGLWidgets Svg REQUIRED)
|
|
find_package(TBB REQUIRED)
|
|
|
|
find_package(OpenCASCADE REQUIRED
|
|
COMPONENTS
|
|
FoundationClasses
|
|
ModelingData
|
|
ModelingAlgorithms
|
|
Visualization
|
|
)
|
|
|
|
# Workaround for Debian's OpenCASCADE package not setting INCLUDE_DIRS correctly
|
|
if(NOT OpenCASCADE_INCLUDE_DIRS)
|
|
set(OpenCASCADE_INCLUDE_DIRS "/usr/include/opencascade")
|
|
message(STATUS "OpenCASCADE_INCLUDE_DIRS was not set. Forcing to /usr/include/opencascade")
|
|
endif()
|
|
|
|
message(STATUS "OpenCASCADE_INCLUDE_DIRS: ${OpenCASCADE_INCLUDE_DIRS}")
|
|
message(STATUS "OpenCASCADE_LIBRARIES: ${OpenCASCADE_LIBRARIES}")
|
|
|
|
add_executable(OpenCAD
|
|
src/main.cpp
|
|
src/MainWindow.cpp
|
|
src/ViewportWidget.cpp
|
|
src/ViewCube.cpp
|
|
src/SketchGrid.cpp
|
|
src/Document.cpp
|
|
src/Feature.cpp
|
|
src/SketchFeature.cpp
|
|
src/SketchLine.cpp
|
|
src/FeatureBrowser.cpp
|
|
src/ApplicationController.cpp
|
|
resources.qrc
|
|
)
|
|
|
|
target_include_directories(OpenCAD PRIVATE ${OpenCASCADE_INCLUDE_DIRS})
|
|
target_link_libraries(OpenCAD PRIVATE
|
|
Qt6::Widgets
|
|
Qt6::OpenGLWidgets
|
|
Qt6::Svg
|
|
${OpenCASCADE_FoundationClasses_LIBRARIES}
|
|
${OpenCASCADE_ModelingData_LIBRARIES}
|
|
${OpenCASCADE_ModelingAlgorithms_LIBRARIES}
|
|
${OpenCASCADE_Visualization_LIBRARIES}
|
|
TBB::tbb
|
|
)
|