2023-12-14 07:20:15 -06:00
|
|
|
cmake_minimum_required(VERSION 3.15)
|
2015-12-22 04:41:11 -06:00
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
project(CeeApp)
|
2015-12-22 04:41:11 -06:00
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
if(MSVC AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 19.11))
|
|
|
|
# VS 2017 : Disable warnings from from gtest code, using deprecated code
|
|
|
|
# related to TR1
|
2018-01-11 06:50:22 -06:00
|
|
|
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
|
2020-10-30 06:31:16 -05:00
|
|
|
message(
|
|
|
|
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
|
|
|
|
)
|
2018-01-11 06:50:22 -06:00
|
|
|
endif()
|
|
|
|
|
2023-11-09 07:17:43 -06:00
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
2022-09-02 06:20:52 -05:00
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
2017-07-19 09:28:17 -05:00
|
|
|
|
2017-09-01 04:20:41 -05:00
|
|
|
if(MSVC)
|
2020-10-30 06:31:16 -05:00
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
2017-09-01 04:20:41 -05:00
|
|
|
endif()
|
|
|
|
|
2024-01-09 02:46:30 -06:00
|
|
|
# Qt
|
|
|
|
if(NOT DEFINED (CEE_USE_QT5))
|
|
|
|
option(CEE_USE_QT5 "Use Qt5" ON)
|
|
|
|
endif(NOT DEFINED (CEE_USE_QT5))
|
|
|
|
|
|
|
|
if(NOT DEFINED (CEE_USE_QT6))
|
|
|
|
option(CEE_USE_QT6 "Use Qt6" OFF)
|
|
|
|
endif(NOT DEFINED (CEE_USE_QT6))
|
|
|
|
|
2023-11-09 07:17:43 -06:00
|
|
|
# CeeViz is not available here, exclude it from the build
|
|
|
|
set(CAF_EXCLUDE_CVF ON)
|
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
# Improvement Cmake 3.x If we have compiler requirements for this library, list
|
|
|
|
# them target_compile_features(lib PUBLIC cxx_auto_type PRIVATE
|
|
|
|
# cxx_variadic_templates)
|
2017-09-01 04:20:41 -05:00
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
# libraries
|
|
|
|
add_subdirectory(cafProjectDataModel/cafPdmCore)
|
|
|
|
add_subdirectory(cafProjectDataModel/cafPdmUiCore)
|
|
|
|
add_subdirectory(cafProjectDataModel/cafPdmXml)
|
2015-12-22 04:41:11 -06:00
|
|
|
|
|
|
|
add_subdirectory(cafProjectDataModel)
|
|
|
|
add_subdirectory(cafCommand)
|
2019-08-29 04:48:43 -05:00
|
|
|
add_subdirectory(cafCommandFeatures)
|
2015-12-22 04:41:11 -06:00
|
|
|
add_subdirectory(cafUserInterface)
|
2020-03-03 03:43:07 -06:00
|
|
|
add_subdirectory(cafPdmScripting)
|
2015-12-22 04:41:11 -06:00
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
# executables
|
2015-12-22 04:41:11 -06:00
|
|
|
add_subdirectory(cafTests/cafTestApplication)
|
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
if(UNIX)
|
|
|
|
set(THREAD_LIBRARY "pthread")
|
2017-07-19 09:28:17 -05:00
|
|
|
endif()
|
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
add_subdirectory(cafProjectDataModel/cafPdmCore/cafPdmCore_UnitTests)
|
|
|
|
add_subdirectory(cafProjectDataModel/cafPdmXml/cafPdmXml_UnitTests)
|
|
|
|
add_subdirectory(cafProjectDataModel/cafProjectDataModel_UnitTests)
|
|
|
|
add_subdirectory(cafUserInterface/cafUserInterface_UnitTests)
|
|
|
|
add_subdirectory(cafPdmScripting/cafPdmScripting_UnitTests)
|
2015-12-22 04:41:11 -06:00
|
|
|
|
2020-10-30 06:31:16 -05:00
|
|
|
# Organize sub-projects into folders on Visual Studio Turn on using solution
|
|
|
|
# folders
|
2015-12-22 04:41:11 -06:00
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
|
|
2021-09-01 01:13:16 -05:00
|
|
|
set_property(
|
|
|
|
TARGET cafPdmCore cafPdmCore_UnitTests cafPdmXml cafPdmXml_UnitTests
|
|
|
|
cafPdmUiCore PROPERTY FOLDER "PdmCore"
|
|
|
|
)
|