12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- CMAKE_MINIMUM_REQUIRED(VERSION 3.16.3)
- PROJECT(TrackpointApp VERSION 1.0.0 LANGUAGES CXX)
- # Include modules
- INCLUDE(FetchContent)
- # Build TrackpointApp
- # Set C++ mode
- SET(CMAKE_CXX_STANDARD 14)
- SET(CMAKE_CXX_STANDARD_REQUIRED True)
- SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -Wunreachable-code -Wno-register")
- SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wno-register")
- SET(CMAKE_AUTOUIC ON)
- SET(CMAKE_AUTOMOC ON)
- SET(CMAKE_AUTORCC ON)
- SET(CMAKE_INCLUDE_CURRENT_DIR ON)
- ADD_COMPILE_DEFINITIONS(GL_SILENCE_DEPRECATION)
- # Qt
- FIND_PACKAGE(Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets REQUIRED)
- # Json
- INCLUDE(thirdparty/json.cmake)
- # OpenSceneGraph
- INCLUDE(thirdparty/openscenegraph.cmake)
- # lib3mf
- INCLUDE(thirdparty/lib3mf.cmake)
- # The executable we want to build
- QT_ADD_EXECUTABLE(TrackpointApp
- src/main.cpp
- src/MainWindow.cpp
- include/MainWindow.hpp
- gui/MainWindow.ui
- src/NoMeshWidget.cpp
- include/NoMeshWidget.hpp
- gui/NoMeshWidget.ui
- src/EditWidget.cpp
- include/EditWidget.hpp
- gui/EditWidget.ui
- include/OSGWidget.hpp
- src/OSGWidget.cpp
- src/ProjectStore.cpp
- include/ProjectStore.hpp
- src/PickHandler.cpp
- src/TrackPoint.cpp
- src/OptiTrackPoint.cpp
- src/EMFTrackPoint.cpp
- src/ActionPoint.cpp
- src/SteamVRTrackPoint.cpp
- src/OpenScadRenderer.cpp
- src/StringBasics.cpp
- src/TrackPointRenderer.cpp
- src/PointShape.cpp
- src/HudCallback.cpp
- src/STLImport.cpp
- src/MeshTools.cpp
- )
- INCLUDE_DIRECTORIES(
- ${${OPENSCENEGRAPH_PREFIX}_SOURCE_DIR}/include
- ${${OPENSCENEGRAPH_PREFIX}_BINARY_DIR}/include
- ${${LIB3MF_PREFIX}_BINARY_DIR}/Autogenerated/Bindings/Cpp
- ${${JSON_PREFIX}_SOURCE_DIR}/include
- ${CMAKE_CURRENT_LIST_DIR}/thirdparty/stl_reader
- include
- gui
- resources
- )
- TARGET_LINK_LIBRARIES(TrackpointApp PRIVATE
- osg osgViewer osgDB osgGA osgText osgUtil
- lib3mf
- nlohmann_json::nlohmann_json
- Qt6::Core
- Qt6::Gui
- Qt6::Widgets
- Qt6::OpenGLWidgets
- )
- # Header to have version number available in the code
- CONFIGURE_FILE(include/trackpointapp.hpp.in include/trackpointapp.hpp)
|