1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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 MACOSX_BUNDLE
- 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}_SOURCE_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
- )
- # Configure macOS application bundle
- SET_TARGET_PROPERTIES(TrackpointApp PROPERTIES
- BUNDLE True
- MACOSX_BUNDLE_GUI_IDENTIFIER com.jkmsoftware.trackpointapp
- MACOSX_BUNDLE_BUNDLE_NAME TrackpointApp
- MACOSX_BUNDLE_BUNDLE_VERSION "1.0.0"
- MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0.0"
- MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/info.plist.in
- )
- # Header to have version number available in the code
- CONFIGURE_FILE(include/trackpointapp.hpp.in include/trackpointapp.hpp)
|