Fixes by cmake-format (#6874)

This commit is contained in:
github-actions[bot]
2020-10-30 12:31:16 +01:00
committed by GitHub
parent 787dae4044
commit 223fe756fe
33 changed files with 1870 additions and 2069 deletions

View File

@@ -2,7 +2,6 @@ cmake_minimum_required (VERSION 3.12)
project(ApplicationCode)
# set packaging dir
if(NOT CPACK_PACKAGE_DIRECTORY)
set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/packages)
@@ -14,7 +13,8 @@ if(RESINSIGHT_ENABLE_UNITY_BUILD)
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-deprecated-declarations")
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-deprecated-declarations")
endif()
# Open GL
@@ -22,45 +22,71 @@ find_package( OpenGL )
option(RESINSIGHT_ENABLE_GRPC "Enable the gRPC scripting framework" OFF)
if(RESINSIGHT_ENABLE_GRPC)
option(RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE "Download the gRPC python modules to enable generation of Python interface" ON)
option(RESINSIGHT_GRPC_BUNDLE_PYTHON_MODULE "Bundle the gRPC python modules into the install folder" OFF)
option(
RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE
"Download the gRPC python modules to enable generation of Python interface"
ON)
option(RESINSIGHT_GRPC_BUNDLE_PYTHON_MODULE
"Bundle the gRPC python modules into the install folder" OFF)
add_definitions(-DENABLE_GRPC)
endif()
option(RESINSIGHT_TREAT_WARNINGS_AS_ERRORS "Treat warnings as errors (stops build)" OFF)
option(RESINSIGHT_TREAT_WARNINGS_AS_ERRORS
"Treat warnings as errors (stops build)" OFF)
find_package(Qt5 COMPONENTS Core QUIET)
find_package(
Qt5
COMPONENTS Core
QUIET)
if(Qt5Core_FOUND)
find_package(Qt5 CONFIG REQUIRED Core Gui OpenGL Network Script Widgets Xml Concurrent PrintSupport Svg)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Script Qt5::Widgets Qt5::Xml Qt5::Concurrent Qt5::PrintSupport Qt5::Svg)
find_package(
Qt5
CONFIG
REQUIRED
Core
Gui
OpenGL
Network
Script
Widgets
Xml
Concurrent
PrintSupport
Svg)
set(QT_LIBRARIES
Qt5::Core
Qt5::Gui
Qt5::Network
Qt5::OpenGL
Qt5::Script
Qt5::Widgets
Qt5::Xml
Qt5::Concurrent
Qt5::PrintSupport
Qt5::Svg)
endif(Qt5Core_FOUND)
# NB: The generated file is written to Cmake binary folder to avoid source tree pollution
# This folder is added to include_directories
CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/ApplicationCode/Adm/RiaVersionInfo.h.cmake
${CMAKE_BINARY_DIR}/Generated/RiaVersionInfo.h
)
# NB: The generated file is written to Cmake binary folder to avoid source tree
# pollution This folder is added to include_directories
configure_file(${CMAKE_SOURCE_DIR}/ApplicationCode/Adm/RiaVersionInfo.h.cmake
${CMAKE_BINARY_DIR}/Generated/RiaVersionInfo.h)
CONFIGURE_FILE( ${CMAKE_CURRENT_LIST_DIR}/RiuThemesDirectory.h.cmake
${CMAKE_BINARY_DIR}/Generated/RiuThemesDirectory.h
)
configure_file(${CMAKE_CURRENT_LIST_DIR}/RiuThemesDirectory.h.cmake
${CMAKE_BINARY_DIR}/Generated/RiuThemesDirectory.h)
if(MSVC)
# Avoid Qt warnings about macro redefinitions for math constants
add_definitions(-D_USE_MATH_DEFINES)
endif()
include_directories(
# required for compilation of gtest, should be refactored
${ResInsight_SOURCE_DIR}/ThirdParty
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/Adm
${CMAKE_CURRENT_SOURCE_DIR}/Application
${CMAKE_CURRENT_SOURCE_DIR}/Application/Tools
${CMAKE_CURRENT_SOURCE_DIR}/Application/Tools/WellPathTools
${CMAKE_CURRENT_SOURCE_DIR}/Commands
${CMAKE_CURRENT_SOURCE_DIR}/Commands/EclipseCommands
${CMAKE_CURRENT_SOURCE_DIR}/FileInterface
@@ -75,7 +101,6 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/UserInterface/AnalysisPlots
${CMAKE_CURRENT_SOURCE_DIR}/CommandFileInterface
${CMAKE_CURRENT_SOURCE_DIR}/CommandFileInterface/Core
${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel
${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel/AnalysisPlots
${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel/CorrelationPlots
@@ -87,30 +112,27 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel/Summary
${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModel/Surfaces
${CMAKE_CURRENT_SOURCE_DIR}/ProjectDataModelCommands
${CMAKE_CURRENT_SOURCE_DIR}/ResultStatisticsCache
${CMAKE_CURRENT_SOURCE_DIR}/ReservoirDataModel
${CMAKE_CURRENT_SOURCE_DIR}/ReservoirDataModel/Completions
${CMAKE_CURRENT_SOURCE_DIR}/GeoMech/OdbReader
${CMAKE_CURRENT_SOURCE_DIR}/GeoMech/GeoMechDataModel
${CMAKE_CURRENT_SOURCE_DIR}/GeoMech/GeoMechVisualization
${CMAKE_BINARY_DIR}/Generated
${CMAKE_CURRENT_BINARY_DIR}
)
${CMAKE_CURRENT_BINARY_DIR})
################################################################################
# ##############################################################################
# Eigen
################################################################################
# ##############################################################################
if(VCPKG_AUTO_INSTALL)
vcpkg_install(eigen3)
endif()
find_package(Eigen3 REQUIRED)
#############################################################################
# ##############################################################################
# Defining all the source (and header) files
#############################################################################
# ##############################################################################
# Use all h files in the subdirectories to make them available in the project
file(GLOB_RECURSE HEADER_FILES *.h)
@@ -124,24 +146,20 @@ set( SOCKET_INTERFACE_FILES
SocketInterface/RiaPropertyDataCommands.cpp
SocketInterface/RiaWellDataCommands.cpp
SocketInterface/RiaSocketTools.cpp
SocketInterface/RiaSocketDataTransfer.cpp
)
SocketInterface/RiaSocketDataTransfer.cpp)
list( APPEND CPP_SOURCES
${SOCKET_INTERFACE_FILES}
${UNIT_TEST_FILES}
)
list(APPEND CPP_SOURCES ${SOCKET_INTERFACE_FILES} ${UNIT_TEST_FILES})
list( APPEND REFERENCED_CMAKE_FILES
list(
APPEND
REFERENCED_CMAKE_FILES
Application/CMakeLists_files.cmake
Application/Tools/CMakeLists_files.cmake
Application/Tools/WellPathTools/CMakeLists_files.cmake
ReservoirDataModel/CMakeLists_files.cmake
ReservoirDataModel/CMakeLists_filesNotToUnitTest.cmake
ReservoirDataModel/Completions/CMakeLists_files.cmake
FileInterface/CMakeLists_files.cmake
ProjectDataModel/CMakeLists_files.cmake
ProjectDataModel/AnalysisPlots/CMakeLists_files.cmake
ProjectDataModel/CorrelationPlots/CMakeLists_files.cmake
@@ -156,94 +174,79 @@ list( APPEND REFERENCED_CMAKE_FILES
ProjectDataModel/Surfaces/CMakeLists_files.cmake
ProjectDataModelCommands/CMakeLists_files.cmake
GeoMech/GeoMechVisualization/CMakeLists_files.cmake
ModelVisualization/CMakeLists_files.cmake
ModelVisualization/GridBox/CMakeLists_files.cmake
ModelVisualization/Intersections/CMakeLists_files.cmake
ModelVisualization/Surfaces/CMakeLists_files.cmake
ModelVisualization/WindowEdgeAxesOverlayItem/CMakeLists_files.cmake
UserInterface/CMakeLists_files.cmake
UserInterface/AnalysisPlots/CMakeLists_files.cmake
CommandFileInterface/CMakeLists_files.cmake
CommandFileInterface/Core/CMakeLists_files.cmake
)
CommandFileInterface/Core/CMakeLists_files.cmake)
option (RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS "Include ApplicationCode Unit Tests" OFF)
option(RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS
"Include ApplicationCode Unit Tests" OFF)
mark_as_advanced(FORCE RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS)
if(RESINSIGHT_INCLUDE_APPLICATION_UNIT_TESTS)
add_definitions(-DUSE_UNIT_TESTS)
list( APPEND REFERENCED_CMAKE_FILES
UnitTests/CMakeLists_files.cmake
)
list(APPEND REFERENCED_CMAKE_FILES UnitTests/CMakeLists_files.cmake)
list(APPEND CPP_SOURCES
${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc
)
${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc)
endif()
# Include source file lists from *.cmake files
foreach(referencedfile ${REFERENCED_CMAKE_FILES})
include(${referencedfile})
endforeach(referencedfile)
list( APPEND CPP_SOURCES
${CODE_SOURCE_FILES}
)
list(APPEND CPP_SOURCES ${CODE_SOURCE_FILES})
#############################################################################
# ##############################################################################
# Sub-directory projects
#############################################################################
# ##############################################################################
add_subdirectory(ResultStatisticsCache)
add_subdirectory(Commands)
set( RI_LIBRARIES
ResultStatisticsCache
Commands
)
set(RI_LIBRARIES ResultStatisticsCache Commands)
if(RESINSIGHT_ENABLE_GRPC)
add_subdirectory(GrpcInterface)
list(APPEND RI_LIBRARIES GrpcInterface)
endif()
#
# Odb api
#
set(RESINSIGHT_ODB_API_DIR "" CACHE PATH "Optional path to the ABAQUS ODB API from Simulia. Needed for support of geomechanical models")
set(RESINSIGHT_ODB_API_DIR
""
CACHE
PATH
"Optional path to the ABAQUS ODB API from Simulia. Needed for support of geomechanical models"
)
if(NOT ${RESINSIGHT_ODB_API_DIR} EQUAL "")
add_definitions(-DUSE_ODB_API)
add_subdirectory(GeoMech/OdbReader)
SET(RESINSIGHT_USE_ODB_API 1)
MESSAGE( STATUS "Using ODB-Api from : ${RESINSIGHT_ODB_API_DIR}" )
set(RESINSIGHT_USE_ODB_API 1)
message(STATUS "Using ODB-Api from : ${RESINSIGHT_ODB_API_DIR}")
endif()
add_subdirectory(GeoMech/GeoMechDataModel)
list( APPEND RI_LIBRARIES
RigGeoMechDataModel
)
list(APPEND RI_LIBRARIES RigGeoMechDataModel)
if(RESINSIGHT_USE_ODB_API)
list( APPEND RI_LIBRARIES
RifOdbReader
)
list(APPEND RI_LIBRARIES RifOdbReader)
endif()
#
# HDF5
#
if(RESINSIGHT_FOUND_HDF5)
list( APPEND CPP_SOURCES
FileInterface/RifHdf5Reader.h
FileInterface/RifHdf5Reader.cpp
)
list(APPEND CPP_SOURCES FileInterface/RifHdf5Reader.h
FileInterface/RifHdf5Reader.cpp)
add_definitions(-DUSE_HDF5)
@@ -258,68 +261,53 @@ if (RESINSIGHT_FOUND_HDF5)
include_directories(${HDF5_INCLUDE_DIRS})
endif() # MSVC
source_group( "FileInterface" FILES FileInterface/RifHdf5Reader.h FileInterface/RifHdf5Reader.cpp )
source_group("FileInterface" FILES FileInterface/RifHdf5Reader.h
FileInterface/RifHdf5Reader.cpp)
endif()
#############################################################################
# ##############################################################################
# Qt specifics: Moc, ui, resources
#############################################################################
# ##############################################################################
set(QT_MOC_HEADERS
${QT_MOC_HEADERS}
ProjectDataModel/RimMimeData.h
ProjectDataModel/RimBoxIntersection.h
SocketInterface/RiaSocketServer.h
)
${QT_MOC_HEADERS} ProjectDataModel/RimMimeData.h
ProjectDataModel/RimBoxIntersection.h SocketInterface/RiaSocketServer.h)
qt5_wrap_cpp(MOC_SOURCE_FILES ${QT_MOC_HEADERS})
qt5_wrap_ui(FORM_FILES_CPP ${QT_UI_FILES})
# NOTE! Resources in subfolders must append to QRC_FILES using the following
# statement set( QRC_FILES ${QRC_FILES}
# ${CMAKE_CURRENT_SOURCE_DIR}/Resources/myLibrary.qrc PARENT_SCOPE )
# NOTE! Resources in subfolders must append to QRC_FILES using the following statement
# set( QRC_FILES
# ${QRC_FILES}
# ${CMAKE_CURRENT_SOURCE_DIR}/Resources/myLibrary.qrc
# PARENT_SCOPE
# )
set( QRC_FILES
${QRC_FILES}
Resources/ResInsight.qrc
)
set(QRC_FILES ${QRC_FILES} Resources/ResInsight.qrc)
# Runs RCC on specified files
qt5_add_resources( QRC_FILES_CPP
${QRC_FILES}
)
qt5_add_resources(QRC_FILES_CPP ${QRC_FILES})
# Adding resource (RC) files for Windows
if(MSVC)
set(WIN_RESOURCE Resources/ResInsight.rc)
endif()
################################################################################
# ##############################################################################
# Create source groups - see also included CMakeLists_files.cmake
################################################################################
# ##############################################################################
source_group("ModelVisualization" FILES ${MODEL_VISUALIZATION_FILES})
source_group("SocketInterface" FILES ${SOCKET_INTERFACE_FILES})
source_group("UnitTests" FILES ${UNIT_TEST_FILES})
#############################################################################
# ##############################################################################
# Set up the main executable with its source files
#############################################################################
# ##############################################################################
# Default behaviour for a Qt application is a console application, resulting in a console window always being launced at startup
# The following statement is used to control this behaviour
# set_target_properties( MY_TARGET PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS")
# This setting i not honored by Cmake - http://public.kitware.com/Bug/view.php?id=14326
# We use the following workaround described in the bug report
# ADD_EXECUTABLE(${TARGET_NAME} WIN32 ${SRC})
# See CMake symbol WIN32_EXECUTABLE for details
# Default behaviour for a Qt application is a console application, resulting in
# a console window always being launced at startup The following statement is
# used to control this behaviour set_target_properties( MY_TARGET PROPERTIES
# LINK_FLAGS_DEBUG "/SUBSYSTEM:WINDOWS") This setting i not honored by Cmake -
# http://public.kitware.com/Bug/view.php?id=14326 We use the following
# workaround described in the bug report ADD_EXECUTABLE(${TARGET_NAME} WIN32
# ${SRC}) See CMake symbol WIN32_EXECUTABLE for details
if(MSVC)
set(EXE_FILES WIN32)
@@ -338,8 +326,7 @@ set( EXE_FILES
../ResInsightVersion.cmake
.clang-format
.clang-tidy
Adm/RiaVersionInfo.h.cmake
)
Adm/RiaVersionInfo.h.cmake)
add_executable(ResInsight ${EXE_FILES})
@@ -349,108 +336,121 @@ if(RESINSIGHT_ENABLE_PRECOMPILED_HEADERS)
message("Precompiled Headers is enabled on : ${PROJECT_NAME}")
target_precompile_headers(ResInsight PRIVATE pch.h)
set_source_files_properties(${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
set_source_files_properties(
${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc
PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch")
set_target_properties(
ResInsight
PROPERTIES
COMPILE_FLAGS
"-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch")
# Treat warnings as errors if asked to do so
if(RESINSIGHT_TREAT_WARNINGS_AS_ERRORS)
set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Werror")
set_target_properties(
ResInsight
PROPERTIES
COMPILE_FLAGS
"-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Werror"
)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Wno-delete-abstract-non-virtual-dtor -Wno-undefined-var-template -Wno-invalid-source-encoding -Wno-enum-compare -Wno-call-to-pure-virtual-from-ctor-dtor -Wno-unused-variable -Wno-unused-private-field -Wno-unused-lambda-capture -Wno-delete-non-abstract-non-virtual-dtor -Wno-braced-scalar-init -Wno-tautological-constant-out-of-range-compare")
set_target_properties(
ResInsight
PROPERTIES
COMPILE_FLAGS
"-Wall -Wno-unused-parameter -Wno-reorder -Wno-parentheses -Wno-switch -Wno-delete-abstract-non-virtual-dtor -Wno-undefined-var-template -Wno-invalid-source-encoding -Wno-enum-compare -Wno-call-to-pure-virtual-from-ctor-dtor -Wno-unused-variable -Wno-unused-private-field -Wno-unused-lambda-capture -Wno-delete-non-abstract-non-virtual-dtor -Wno-braced-scalar-init -Wno-tautological-constant-out-of-range-compare"
)
endif()
endif()
if(MSVC)
# The following warnings are supposed to be used in ResInsight, but temporarily disabled to avoid too much noise
# warning C4245: 'return': conversion from 'int' to 'size_t', signed/unsigned mismatch
# The following warnings are supposed to be used in ResInsight, but
# temporarily disabled to avoid too much noise warning C4245: 'return':
# conversion from 'int' to 'size_t', signed/unsigned mismatch
# warning C4005: Macro redefinition for math constants (M_PI, M_SQRT2 etc)
# If possible, the following command is supposed to be the final target
# set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "/W3 /wd4190 /wd4100 /wd4127")
# set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "/W3 /wd4190
# /wd4100 /wd4127")
set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "/wd4190 /wd4100 /wd4127 /wd4245 /wd4005")
set_target_properties(
ResInsight PROPERTIES COMPILE_FLAGS
"/wd4190 /wd4100 /wd4127 /wd4245 /wd4005")
if(CMAKE_CXX_COMPILER_VERSION LESS_EQUAL 19.14)
# The following warning is generated over 800 times from a qwt header only using VS2015
# Disabling temporarily
# warning C4505 'function' : unreferenced local function has been removed
# The following warning is generated over 800 times from a qwt header only
# using VS2015 Disabling temporarily warning C4505 'function' : unreferenced
# local function has been removed
set_target_properties(ResInsight PROPERTIES COMPILE_FLAGS "/wd4505")
endif()
endif()
#############################################################################
# ##############################################################################
# Application icon for MacOS X bundle
#############################################################################
# ##############################################################################
if(APPLE)
add_custom_command (OUTPUT Resources/ResInsight.icns
COMMAND sips -s format icns ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png --out ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns
COMMENT Converting application icon
)
add_custom_target (ResInsight-icns
add_custom_command(
OUTPUT Resources/ResInsight.icns
COMMAND
sips -s format icns ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png
--out ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns
COMMENT Converting application icon)
add_custom_target(
ResInsight-icns
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns)
add_dependencies(ResInsight ResInsight-icns)
set_target_properties (ResInsight PROPERTIES
MACOSX_BUNDLE_ICON_FILE ${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns)
set_target_properties(
ResInsight PROPERTIES MACOSX_BUNDLE_ICON_FILE
${CMAKE_CURRENT_BINARY_DIR}/Resources/ResInsight.icns)
endif()
#############################################################################
# ##############################################################################
# Set up libraries and dependent projects to link with
#############################################################################
# ##############################################################################
set(LINK_LIBRARIES
Eigen3::Eigen
${OPM_LIBRARIES}
${RI_LIBRARIES}
${APP_FWK_LIBRARIES}
${VIZ_FWK_LIBRARIES}
${THIRD_PARTY_LIBRARIES}
${OPENGL_LIBRARIES}
${QT_LIBRARIES}
)
${QT_LIBRARIES})
# According to ivarun this is needed on OpenSuse, and Fedora. See: https://github.com/OPM/ResInsight/pull/7
# According to ivarun this is needed on OpenSuse, and Fedora. See:
# https://github.com/OPM/ResInsight/pull/7
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
list(APPEND EXTERNAL_LINK_LIBRARIES
rt
)
list(APPEND EXTERNAL_LINK_LIBRARIES rt)
endif()
target_link_libraries(ResInsight ${LINK_LIBRARIES} ${EXTERNAL_LINK_LIBRARIES})
#############################################################################
# ##############################################################################
# Unity builds
#############################################################################
# ##############################################################################
set(UNITY_EXCLUDE_FILES
# forever is used as variable name, and this symbol is defined by Qt and used in precompiled headers
# forever is used as variable name, and this symbol is defined by Qt and
# used in precompiled headers
${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc
qrc_cafAnimControl.cpp
qrc_ResInsight.cpp
qrc_cafCommandFeatures.cpp
)
qrc_cafAnimControl.cpp qrc_ResInsight.cpp qrc_cafCommandFeatures.cpp)
if(RESINSIGHT_ENABLE_UNITY_BUILD)
foreach(fileToExclude ${UNITY_EXCLUDE_FILES})
set_source_files_properties (${fileToExclude} PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
set_source_files_properties(${fileToExclude}
PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
endforeach(fileToExclude)
endif()
#############################################################################
# ##############################################################################
# Copy Dlls on MSVC
#############################################################################
# ##############################################################################
if(MSVC)
# Odb Dlls
@@ -473,7 +473,8 @@ if (MSVC)
if(RESINSIGHT_FOUND_HDF5)
set(HDF5_DLL_NAMES hdf5 hdf5_cpp szip zlib)
foreach(HDF5_DLL_NAME ${HDF5_DLL_NAMES})
list(APPEND RI_DLL_FILENAMES ${RESINSIGHT_HDF5_DIR}/bin/${HDF5_DLL_NAME}.dll)
list(APPEND RI_DLL_FILENAMES
${RESINSIGHT_HDF5_DIR}/bin/${HDF5_DLL_NAME}.dll)
endforeach(HDF5_DLL_NAME)
endif()
@@ -481,38 +482,49 @@ endif(MSVC)
# Copy to target directory
foreach(FILE_TO_COPY ${RI_DLL_FILENAMES})
add_custom_command(TARGET ResInsight POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${FILE_TO_COPY}
add_custom_command(
TARGET ResInsight
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_COPY}
$<TARGET_FILE_DIR:ResInsight>)
if(_unityTargetName)
add_custom_command(TARGET ${_unityTargetName} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${FILE_TO_COPY}
add_custom_command(
TARGET ${_unityTargetName}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_COPY}
$<TARGET_FILE_DIR:ResInsight>)
endif()
endforeach()
# Generate Python code in a target that is part of ALL_BUILD and depends on ResInsight
# Generate Python code in a target that is part of ALL_BUILD and depends on
# ResInsight
if(RESINSIGHT_ENABLE_GRPC)
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py
COMMAND ResInsight ARGS --console --generate ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py
add_custom_command(
OUTPUT
${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py
COMMAND
ResInsight ARGS --console --generate
${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py
DEPENDS ResInsight
COMMENT "Generating ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py"
COMMENT
"Generating ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py"
)
add_custom_target(
ResInsightClassesPy ALL
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py
)
add_custom_target(ResInsightClassesPy ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py)
add_dependencies(ResInsightClassesPy ResInsight)
endif(RESINSIGHT_ENABLE_GRPC)
#############################################################################
# ##############################################################################
# Install
#############################################################################
# ##############################################################################
set(RESINSIGHT_LICENSE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/Adm/LicenseInformation.txt
${CMAKE_CURRENT_SOURCE_DIR}/Adm/gplLicense.txt
)
${CMAKE_CURRENT_SOURCE_DIR}/Adm/gplLicense.txt)
# bundle libraries together with private installation
if(RESINSIGHT_PRIVATE_INSTALL)
@@ -521,20 +533,24 @@ if (RESINSIGHT_PRIVATE_INSTALL)
set(RESINSIGHT_INSTALL_RPATH "\$ORIGIN")
if(${RESINSIGHT_USE_ODB_API})
# This is a "hack" to make ResInsight runtime find the ODB so files used when compiling.
# statoil wanted it this way, but we should probbly make a different installoptions that does things this way,
# and really do copy them when doing PRIVATE_INSTALL
set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} ${RESINSIGHT_ODB_API_DIR}/lib)
# This is a "hack" to make ResInsight runtime find the ODB so files used
# when compiling. statoil wanted it this way, but we should probbly make a
# different installoptions that does things this way, and really do copy
# them when doing PRIVATE_INSTALL
set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH}
${RESINSIGHT_ODB_API_DIR}/lib)
endif()
if(EXISTS ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT})
# append the external ERT lib root
set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH} ${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT})
set(RESINSIGHT_INSTALL_RPATH ${RESINSIGHT_INSTALL_RPATH}
${RESINSIGHT_ERT_EXTERNAL_LIB_ROOT})
endif()
# message("RESINSIGHT_INSTALL_RPATH : " "${RESINSIGHT_INSTALL_RPATH}")
set_target_properties (ResInsight PROPERTIES INSTALL_RPATH "${RESINSIGHT_INSTALL_RPATH}")
set_target_properties(ResInsight PROPERTIES INSTALL_RPATH
"${RESINSIGHT_INSTALL_RPATH}")
# bundle Qt5 libraries
option(RESINSIGHT_QT5_BUNDLE_LIBRARIES "Bundle Qt5 libraries" OFF)
@@ -543,7 +559,10 @@ if (RESINSIGHT_PRIVATE_INSTALL)
message(STATUS "Bundling of Qt5 libraries is enabled")
# Get root directory
get_property(_filepath TARGET "Qt5::Core" PROPERTY LOCATION_RELEASE)
get_property(
_filepath
TARGET "Qt5::Core"
PROPERTY LOCATION_RELEASE)
get_filename_component(_dir ${_filepath} PATH)
foreach(qtlib ${QT_LIBRARIES})
@@ -560,13 +579,17 @@ if (RESINSIGHT_PRIVATE_INSTALL)
foreach(installfile ${QT_INSTALL_FILES_WITHOUT_EXTENSION})
file(GLOB FILE_AND_SYMLINKS ${_dir}/${installfile}.so*)
install(FILES ${FILE_AND_SYMLINKS} DESTINATION ${RESINSIGHT_INSTALL_FOLDER} )
install(FILES ${FILE_AND_SYMLINKS}
DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
endforeach()
# include platform files
install(FILES ${_dir}/qt5/plugins/platforms/libqxcb.so DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/platforms/ )
install(FILES ${_dir}/qt5/plugins/imageformats/libqsvg.so DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/imageformats/ )
install(FILES ${_dir}/qt5/plugins/iconengines/libqsvgicon.so DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/iconengines/ )
install(FILES ${_dir}/qt5/plugins/platforms/libqxcb.so
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/platforms/)
install(FILES ${_dir}/qt5/plugins/imageformats/libqsvg.so
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/imageformats/)
install(FILES ${_dir}/qt5/plugins/iconengines/libqsvgicon.so
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/iconengines/)
endif(RESINSIGHT_QT5_BUNDLE_LIBRARIES)
@@ -574,83 +597,90 @@ if (RESINSIGHT_PRIVATE_INSTALL)
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
# put a .exe.local file in the target directory to pick up DLLs from there
install (CODE "exec_program (\"${CMAKE_COMMAND}\" ARGS -E touch \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}ResInsight${CMAKE_EXECUTABLE_SUFFIX}.local)")
install(
CODE "exec_program (\"${CMAKE_COMMAND}\" ARGS -E touch \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}ResInsight${CMAKE_EXECUTABLE_SUFFIX}.local)"
)
set(RESINSIGHT_FILES ${RI_DLL_FILENAMES})
if(WIN32 AND TARGET Qt5::qmake AND NOT TARGET Qt5::windeployqt)
if(WIN32
AND TARGET Qt5::qmake
AND NOT TARGET Qt5::windeployqt)
get_target_property(_qt5_qmake_location Qt5::qmake IMPORTED_LOCATION)
execute_process(
COMMAND "${_qt5_qmake_location}" -query QT_INSTALL_PREFIX
RESULT_VARIABLE return_code
OUTPUT_VARIABLE qt5_install_prefix
OUTPUT_STRIP_TRAILING_WHITESPACE
)
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(imported_location "${qt5_install_prefix}/bin/windeployqt.exe")
if(EXISTS ${imported_location})
add_executable(Qt5::windeployqt IMPORTED)
set_target_properties(Qt5::windeployqt PROPERTIES
IMPORTED_LOCATION ${imported_location}
)
set_target_properties(Qt5::windeployqt PROPERTIES IMPORTED_LOCATION
${imported_location})
endif()
endif()
# TODO(wjwwood): find a way to make this optional or to run without "deploying" the
# necessary dlls and stuff to the bin folder.
# see:
# TODO(wjwwood): find a way to make this optional or to run without
# "deploying" the necessary dlls and stuff to the bin folder. see:
# https://stackoverflow.com/questions/41193584/deploy-all-qt-dependencies-when-building#41199492
if(TARGET Qt5::windeployqt)
# execute windeployqt in a tmp directory after build
add_custom_command(TARGET ResInsight
add_custom_command(
TARGET ResInsight
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_CURRENT_BINARY_DIR}/windeployqt"
COMMAND ${CMAKE_COMMAND} -E remove_directory
"${CMAKE_CURRENT_BINARY_DIR}/windeployqt"
COMMAND set PATH=%PATH%$<SEMICOLON>${qt5_install_prefix}/bin
COMMAND
Qt5::windeployqt
--no-compiler-runtime
--no-system-d3d-compiler
--no-quick-import
--no-translations
--verbose 0
--dir "${CMAKE_CURRENT_BINARY_DIR}/windeployqt"
"$<TARGET_FILE_DIR:ResInsight>/$<TARGET_FILE_NAME:ResInsight>"
)
Qt5::windeployqt --no-compiler-runtime --no-system-d3d-compiler
--no-quick-import --no-translations --verbose 0 --dir
"${CMAKE_CURRENT_BINARY_DIR}/windeployqt"
"$<TARGET_FILE_DIR:ResInsight>/$<TARGET_FILE_NAME:ResInsight>")
# Qt DLLs
message(STATUS "Creating post build step for copying Qt DLLs")
# copy all files in the windeployqt directory to the installation directory
add_custom_command(TARGET ResInsight POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_BINARY_DIR}/windeployqt/" $<TARGET_FILE_DIR:ResInsight>
)
# copy all files in the windeployqt directory to the installation
# directory
add_custom_command(
TARGET ResInsight
POST_BUILD
COMMAND
${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_BINARY_DIR}/windeployqt/"
$<TARGET_FILE_DIR:ResInsight>)
if(_unityTargetName)
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${_unityTargetName} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${_unityTargetName}>
)
add_custom_command(
TARGET ${_unityTargetName}
POST_BUILD
COMMAND
${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${_unityTargetName}>)
endforeach(qtlib)
endif(_unityTargetName)
# copy deployment directory during installation
install(
DIRECTORY
"${CMAKE_CURRENT_BINARY_DIR}/windeployqt/"
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}
)
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/windeployqt/"
DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
endif()
# install GRPC-related DLLs and resinsight_classes.py
if(RESINSIGHT_ENABLE_GRPC)
set(GRPC_DLL_NAMES libprotobuf cares zlib1 abseil_dll)
foreach(dllname ${GRPC_DLL_NAMES})
list(APPEND RESINSIGHT_FILES $<TARGET_FILE_DIR:ResInsight>/${dllname}.dll)
list(APPEND RESINSIGHT_FILES
$<TARGET_FILE_DIR:ResInsight>/${dllname}.dll)
endforeach(dllname ${GRPC_DLL_NAMES})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python/rips/generated)
install(
FILES
${CMAKE_CURRENT_SOURCE_DIR}/GrpcInterface/Python/rips/generated/resinsight_classes.py
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python/rips/generated)
endif()
# OpenSSL
@@ -661,12 +691,14 @@ if (RESINSIGHT_PRIVATE_INSTALL)
find_package(OpenSSL)
if(OPENSSL_FOUND)
message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
SET(OPENSSL_BIN_DIR ${OPENSSL_INCLUDE_DIR})
set(OPENSSL_BIN_DIR ${OPENSSL_INCLUDE_DIR})
string(REPLACE "include" "bin" OPENSSL_BIN_DIR ${OPENSSL_BIN_DIR})
message("OpenSSL binary dir: ${OPENSSL_BIN_DIR}")
install(FILES ${OPENSSL_BIN_DIR}/libcrypto-1_1-x64.dll DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
install(FILES ${OPENSSL_BIN_DIR}/libssl-1_1-x64.dll DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
install(FILES ${OPENSSL_BIN_DIR}/libcrypto-1_1-x64.dll
DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
install(FILES ${OPENSSL_BIN_DIR}/libssl-1_1-x64.dll
DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
endif(OPENSSL_FOUND)
endif(RESINSIGHT_BUNDLE_OPENSSL)
@@ -674,52 +706,52 @@ if (RESINSIGHT_PRIVATE_INSTALL)
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON)
set(CMAKE_INSTALL_OPENMP_LIBRARIES ON)
include(InstallRequiredSystemLibraries)
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
endif()
set(RESINSIGHT_FILES ${RESINSIGHT_FILES} ${RESINSIGHT_LICENSE_FILES})
install(TARGETS ResInsight DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
install(FILES ${RESINSIGHT_FILES} DESTINATION ${RESINSIGHT_INSTALL_FOLDER})
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resinsight DESTINATION ${RESINSIGHT_INSTALL_FOLDER} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
install(
FILES ${CMAKE_CURRENT_SOURCE_DIR}/resinsight
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}
PERMISSIONS
OWNER_READ
OWNER_WRITE
OWNER_EXECUTE
GROUP_READ
GROUP_EXECUTE
WORLD_READ
WORLD_EXECUTE)
endif()
else(RESINSIGHT_PRIVATE_INSTALL)
# binaries go in /usr/bin
install (TARGETS ResInsight
DESTINATION bin
)
install(TARGETS ResInsight DESTINATION bin)
# license go in /usr/share/doc
install (FILES ${RESINSIGHT_LICENSE_FILES}
DESTINATION share/doc/ResInsight
)
# no bundled libraries for system install
# application icon
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png
install(FILES ${RESINSIGHT_LICENSE_FILES} DESTINATION share/doc/ResInsight)
# no bundled libraries for system install application icon
install(
FILES ${CMAKE_CURRENT_SOURCE_DIR}/Resources/AppLogo48x48.png
DESTINATION share/icons/hicolor/48x48/apps
RENAME ResInsight.png
)
# desktop environment icon; remember to call `update-desktop-database`
# in package post-install scripts
configure_file (
${CMAKE_CURRENT_SOURCE_DIR}/resinsight.desktop.in
${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop
@ONLY
)
RENAME ResInsight.png)
# desktop environment icon; remember to call `update-desktop-database` in
# package post-install scripts
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/resinsight.desktop.in
${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/resinsight.desktop
DESTINATION share/applications
)
DESTINATION share/applications)
endif(RESINSIGHT_PRIVATE_INSTALL)
################################################################################
# ##############################################################################
# Installation packaging
################################################################################
# ##############################################################################
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(CPACK_GENERATOR TGZ)
@@ -727,7 +759,6 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(CPACK_GENERATOR ZIP)
endif()
# Handling of system name on Windows
if(${CMAKE_SYSTEM_NAME} MATCHES Windows)
if(CMAKE_CL_64)
@@ -740,7 +771,6 @@ endif()
# Append el5 when compiled on RHEL5 and el6 if compiled on RHEL6
string(REGEX MATCH "el[6,7,8]?" RESINSIGHT_RHEL_SYSTEM_NAME ${CMAKE_SYSTEM})
set(RESINSIGHT_PACKAGE_NAME "ResInsight")
set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}-${STRPRODUCTVER}")
@@ -750,7 +780,8 @@ if(NOT ${RESINSIGHT_ODB_API_DIR} EQUAL "")
endif()
if(NOT ${OCTAVE_VERSION_STRING} EQUAL "")
set (RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_oct-${OCTAVE_VERSION_STRING}")
set(RESINSIGHT_PACKAGE_NAME
"${RESINSIGHT_PACKAGE_NAME}_oct-${OCTAVE_VERSION_STRING}")
endif()
if(RESINSIGHT_BUNDLE_OPENSSL AND OPENSSL_FOUND)
@@ -759,7 +790,8 @@ endif()
# Append el5 when compiled on RHEL5 and el6 if compiled on RHEL6
if(NOT "${RESINSIGHT_RHEL_SYSTEM_NAME}" STREQUAL "")
set (RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_${RESINSIGHT_RHEL_SYSTEM_NAME}")
set(RESINSIGHT_PACKAGE_NAME
"${RESINSIGHT_PACKAGE_NAME}_${RESINSIGHT_RHEL_SYSTEM_NAME}")
else()
set(RESINSIGHT_PACKAGE_NAME "${RESINSIGHT_PACKAGE_NAME}_${CPACK_SYSTEM_NAME}")
endif()
@@ -767,5 +799,4 @@ endif()
# message("RESINSIGHT_PACKAGE_NAME : " ${RESINSIGHT_PACKAGE_NAME})
set(CPACK_PACKAGE_FILE_NAME ${RESINSIGHT_PACKAGE_NAME})
include(CPack)

View File

@@ -37,34 +37,29 @@ set( COMMAND_REFERENCED_CMAKE_FILES
WellLogCommands/CMakeLists_files.cmake
WellPathCommands/CMakeLists_files.cmake
PlotTemplateCommands/CMakeLists_files.cmake
FractureCommands/CMakeLists_files.cmake
)
FractureCommands/CMakeLists_files.cmake)
# Include source file lists from *.cmake files
foreach(referencedfile ${COMMAND_REFERENCED_CMAKE_FILES})
include(${referencedfile})
endforeach(referencedfile)
find_package(Eigen3 REQUIRED)
# Prefix files with COMMAND_ to avoid clash with application global lists
qt5_wrap_cpp(COMMAND_MOC_SOURCE_FILES ${COMMAND_QT_MOC_HEADERS})
add_library( ${PROJECT_NAME} OBJECT
${COMMAND_CODE_SOURCE_FILES}
${COMMAND_CODE_HEADER_FILES}
${COMMAND_MOC_SOURCE_FILES}
)
add_library(
${PROJECT_NAME} OBJECT
${COMMAND_CODE_SOURCE_FILES} ${COMMAND_CODE_HEADER_FILES}
${COMMAND_MOC_SOURCE_FILES})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/ThirdParty
)
target_include_directories(
${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/ThirdParty)
# Before cmake 3.12 OBJECT libraries could not use the target_link_libraries command,
# So we need to set the POSITION_INDEPENDENT_CODE option manually
# Before cmake 3.12 OBJECT libraries could not use the target_link_libraries
# command, So we need to set the POSITION_INDEPENDENT_CODE option manually
set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
# Use this code when 3.12 can be used as minimum version of cmake
@@ -79,13 +74,9 @@ set( LINK_LIBRARIES
ecl
nightcharts
qwt
${QT_LIBRARIES}
Eigen3::Eigen
)
Eigen3::Eigen)
target_link_libraries( ${PROJECT_NAME}
${LINK_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})

View File

@@ -8,7 +8,8 @@ if (RESINSIGHT_ENABLE_UNITY_BUILD)
set(CMAKE_UNITY_BUILD true)
endif()
add_library( ${PROJECT_NAME}
add_library(
${PROJECT_NAME}
RigFemPart.h
RigFemPart.cpp
RigFemTypes.h
@@ -103,27 +104,13 @@ add_library( ${PROJECT_NAME}
RigFemPartResultCalculatorShearSlipIndicator.h
RigFemPartResultCalculatorShearSlipIndicator.cpp
RimGeoMechGeometrySelectionItem.h
RimGeoMechGeometrySelectionItem.cpp
)
RimGeoMechGeometrySelectionItem.cpp)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
set( LINK_LIBRARIES
LibCore
set(LINK_LIBRARIES LibCore cafPdmCvf cafTensor cafUserInterface CommonCode
ResultStatisticsCache)
cafPdmCvf
cafTensor
cafUserInterface
CommonCode
ResultStatisticsCache
)
target_link_libraries( ${PROJECT_NAME}
${LINK_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})

View File

@@ -40,20 +40,16 @@ else()
add_definitions(-DABQ_MPI_PMPI)
endif(MSVC)
include_directories(
${RESINSIGHT_ODB_API_DIR}/include
)
include_directories(${RESINSIGHT_ODB_API_DIR}/include)
add_library( ${PROJECT_NAME}
RifOdbReader.h
RifOdbReader.cpp
RifGeoMechReaderInterface.h
RifGeoMechReaderInterface.cpp
OdbSetup.cmake
)
add_library(
${PROJECT_NAME} RifOdbReader.h RifOdbReader.cpp RifGeoMechReaderInterface.h
RifGeoMechReaderInterface.cpp OdbSetup.cmake)
if(MSVC)
list(APPEND RI_ODB_LIBS
list(
APPEND
RI_ODB_LIBS
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMAOdbDdbOdb.lib
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMAOdbApi.lib
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMAOdbCore.lib
@@ -68,10 +64,11 @@ if (MSVC)
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMARomDiagEx.lib
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMASspUmaCore.lib
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMASimInterface.lib
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMAMtxCoreModule.lib
)
${RESINSIGHT_ODB_API_DIR}/lib/ABQSMAMtxCoreModule.lib)
else()
list(APPEND RI_ODB_LIBS
list(
APPEND
RI_ODB_LIBS
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMAOdbDdbOdb.so
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMAOdbApi.so
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMAOdbCore.so
@@ -86,15 +83,12 @@ else()
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMARomDiagEx.so
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMASspUmaCore.so
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMASimInterface.so
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMAMtxCoreModule.so
)
${RESINSIGHT_ODB_API_DIR}/lib/libABQSMAMtxCoreModule.so)
endif(MSVC)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} ${RI_ODB_LIBS} RigGeoMechDataModel LibCore)
target_link_libraries(${PROJECT_NAME} ${RI_ODB_LIBS} RigGeoMechDataModel
LibCore)
source_group("" FILES ${PROJECT_FILES})

View File

@@ -2,9 +2,15 @@ cmake_minimum_required (VERSION 2.8)
project(OdbReader_UnitTests)
set(RI_VIZ_FWK_ROOT ../../../Fwk/VizFwk CACHE PATH "Path to VizFwk")
set(RI_GTEST_ROOT ../../../ThirdParty CACHE PATH "Path to folder containing gtest folder")
set(RI_TEST_FILE "" CACHE FILEPATH "Path to test file")
set(RI_VIZ_FWK_ROOT
../../../Fwk/VizFwk
CACHE PATH "Path to VizFwk")
set(RI_GTEST_ROOT
../../../ThirdParty
CACHE PATH "Path to folder containing gtest folder")
set(RI_TEST_FILE
""
CACHE FILEPATH "Path to test file")
include(${RI_VIZ_FWK_ROOT}/CMake/Utils/ceeDetermineCompilerFlags.cmake)
@@ -22,11 +28,8 @@ include_directories(../OdbReader)
include_directories(../GeoMechDataModel)
include_directories(${RI_GTEST_ROOT})
set( UNIT_TEST_CPP_SOURCES
main.cpp
RifOdbReader-Test.cpp
${RI_GTEST_ROOT}/gtest/gtest-all.cc
)
set(UNIT_TEST_CPP_SOURCES main.cpp RifOdbReader-Test.cpp
${RI_GTEST_ROOT}/gtest/gtest-all.cc)
add_executable(${PROJECT_NAME} ${UNIT_TEST_CPP_SOURCES})
target_link_libraries(${PROJECT_NAME} RifOdbReader)

View File

@@ -10,7 +10,12 @@ if (VCPKG_AUTO_INSTALL)
endif()
set(CMAKE_UNITY_BUILD false)
set(RESINSIGHT_GRPC_PYTHON_EXECUTABLE "" CACHE FILEPATH "gRPC : Path to Python 3 executable, required to build the Python client library")
set(RESINSIGHT_GRPC_PYTHON_EXECUTABLE
""
CACHE
FILEPATH
"gRPC : Path to Python 3 executable, required to build the Python client library"
)
if(MSVC)
add_definitions(-D_WIN32_WINNT=0x600)
@@ -32,8 +37,7 @@ set ( SOURCE_GROUP_HEADER_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcAppService.h
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPropertiesService.h
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcNNCPropertiesService.h
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPdmObjectService.h
)
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPdmObjectService.h)
set(SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcServer.cpp
@@ -47,21 +51,22 @@ set ( SOURCE_GROUP_SOURCE_FILES
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcAppService.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPropertiesService.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcNNCPropertiesService.cpp
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPdmObjectService.cpp
)
${CMAKE_CURRENT_LIST_DIR}/RiaGrpcPdmObjectService.cpp)
# Find Protobuf installation
# Looks for protobuf-config.cmake file installed by Protobuf's cmake installation.
# Find Protobuf installation Looks for protobuf-config.cmake file installed by
# Protobuf's cmake installation.
set(protobuf_MODULE_COMPATIBLE ON)
find_package(Protobuf CONFIG 3.0 QUIET)
if(Protobuf_FOUND)
message(STATUS "Using protobuf ${protobuf_VERSION}")
else()
message(FATAL_ERROR "Protocol Buffers not found. This is required to build with gRPC")
message(
FATAL_ERROR
"Protocol Buffers not found. This is required to build with gRPC")
endif()
# Find gRPC installation
# Looks for gRPCConfig.cmake file installed by gRPC's cmake installation.
# Find gRPC installation Looks for gRPCConfig.cmake file installed by gRPC's
# cmake installation.
find_package(gRPC CONFIG REQUIRED)
message(STATUS "Using gRPC ${gRPC_VERSION}")
@@ -72,10 +77,9 @@ set(_GRPC_GRPCPP_UNSECURE gRPC::grpc++_unsecure gRPC::grpc_unsecure gRPC::gpr)
set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
set(GRPC_LIBRARIES ${_GRPC_GRPCPP_UNSECURE} ${_PROTOBUF_LIBPROTOBUF})
set_target_properties(${GRPC_LIBRARIES} PROPERTIES
MAP_IMPORTED_CONFIG_MINSIZEREL RELEASE
MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE
)
set_target_properties(
${GRPC_LIBRARIES} PROPERTIES MAP_IMPORTED_CONFIG_MINSIZEREL RELEASE
MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
set(LINK_LIBRARIES
${QT_LIBRARIES}
@@ -89,8 +93,7 @@ set( LINK_LIBRARIES
cafVizExtensions
ecl
nightcharts
qwt
)
qwt)
# Proto files
set(PROTO_FILES
@@ -103,15 +106,16 @@ set(PROTO_FILES
"NNCProperties"
"App"
"Properties"
"Grid"
)
"Grid")
set(GRPC_PYTHON_SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}/Python")
add_custom_target(PipInstall)
foreach(proto_file ${PROTO_FILES})
get_filename_component(rips_proto "${CMAKE_CURRENT_LIST_DIR}/GrpcProtos/${proto_file}.proto" ABSOLUTE)
get_filename_component(
rips_proto "${CMAKE_CURRENT_LIST_DIR}/GrpcProtos/${proto_file}.proto"
ABSOLUTE)
get_filename_component(rips_proto_path "${rips_proto}" PATH)
list(APPEND GRPC_PROTO_FILES_FULL_PATH ${rips_proto})
@@ -122,61 +126,56 @@ foreach(proto_file ${PROTO_FILES})
set(rips_grpc_hdrs "${CMAKE_BINARY_DIR}/Generated/${proto_file}.grpc.pb.h")
add_custom_command(
OUTPUT "${rips_proto_srcs}" "${rips_proto_hdrs}" "${rips_grpc_srcs}" "${rips_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_BINARY_DIR}/Generated"
--cpp_out "${CMAKE_BINARY_DIR}/Generated"
-I "${rips_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${rips_proto}"
DEPENDS "${rips_proto}"
)
OUTPUT "${rips_proto_srcs}" "${rips_proto_hdrs}" "${rips_grpc_srcs}"
"${rips_grpc_hdrs}"
COMMAND
${_PROTOBUF_PROTOC} ARGS --grpc_out "${CMAKE_BINARY_DIR}/Generated"
--cpp_out "${CMAKE_BINARY_DIR}/Generated" -I "${rips_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}" "${rips_proto}"
DEPENDS "${rips_proto}")
set(rips_proto_python "rips/generated/${proto_file}_pb2.py")
set(rips_grpc_python "rips/generated/${proto_file}_pb2_grpc.py")
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
message(STATUS "Using Python Executable: ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE}")
message(
STATUS "Using Python Executable: ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE}")
add_custom_command(
OUTPUT "${GRPC_PYTHON_SOURCE_PATH}/${rips_proto_python}" "${GRPC_PYTHON_SOURCE_PATH}/${rips_grpc_python}"
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE}
ARGS -m grpc_tools.protoc
-I "${rips_proto_path}"
--python_out "${GRPC_PYTHON_SOURCE_PATH}/rips/generated"
--grpc_python_out "${GRPC_PYTHON_SOURCE_PATH}/rips/generated"
"${rips_proto}"
OUTPUT "${GRPC_PYTHON_SOURCE_PATH}/${rips_proto_python}"
"${GRPC_PYTHON_SOURCE_PATH}/${rips_grpc_python}"
COMMAND
${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m grpc_tools.protoc -I
"${rips_proto_path}" --python_out
"${GRPC_PYTHON_SOURCE_PATH}/rips/generated" --grpc_python_out
"${GRPC_PYTHON_SOURCE_PATH}/rips/generated" "${rips_proto}"
DEPENDS "${rips_proto}"
COMMENT "Generating ${rips_proto_python} and ${rips_grpc_python}"
VERBATIM
)
list (APPEND GRPC_PYTHON_GENERATED_SOURCES
${rips_proto_python}
${rips_grpc_python}
)
VERBATIM)
list(APPEND GRPC_PYTHON_GENERATED_SOURCES ${rips_proto_python}
${rips_grpc_python})
else()
message(STATUS "RESINSIGHT_GRPC_PYTHON_EXECUTABLE not specified. Will not install Python client code")
message(
STATUS
"RESINSIGHT_GRPC_PYTHON_EXECUTABLE not specified. Will not install Python client code"
)
endif()
list( APPEND GRPC_HEADER_FILES
${rips_proto_hdrs}
${rips_grpc_hdrs}
)
list(APPEND GRPC_HEADER_FILES ${rips_proto_hdrs} ${rips_grpc_hdrs})
list( APPEND GRPC_CPP_SOURCES
${rips_proto_srcs}
${rips_grpc_srcs}
)
list(APPEND GRPC_CPP_SOURCES ${rips_proto_srcs} ${rips_grpc_srcs})
endforeach(proto_file)
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/ApplicationCode/Adm/RiaVersionInfo.py.cmake
configure_file(${CMAKE_SOURCE_DIR}/ApplicationCode/Adm/RiaVersionInfo.py.cmake
${GRPC_PYTHON_SOURCE_PATH}/rips/generated/RiaVersionInfo.py)
CONFIGURE_FILE( ${GRPC_PYTHON_SOURCE_PATH}/setup.py.cmake
configure_file(${GRPC_PYTHON_SOURCE_PATH}/setup.py.cmake
${GRPC_PYTHON_SOURCE_PATH}/setup.py)
endif()
list(APPEND GRPC_PYTHON_SOURCES
list(
APPEND
GRPC_PYTHON_SOURCES
"rips/generated/RiaVersionInfo.py"
"rips/__init__.py"
"rips/case.py"
@@ -226,57 +225,58 @@ list(APPEND GRPC_PYTHON_SOURCES
"requirements.txt"
"setup.py"
"README.md"
"LICENSE"
)
"LICENSE")
list(APPEND GRPC_PYTHON_SOURCES ${GRPC_PYTHON_GENERATED_SOURCES})
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
foreach(PYTHON_SCRIPT ${GRPC_PYTHON_SOURCES})
list(APPEND GRPC_PYTHON_SOURCES_FULL_PATH "${GRPC_PYTHON_SOURCE_PATH}/${PYTHON_SCRIPT}")
list(APPEND GRPC_PYTHON_SOURCES_FULL_PATH
"${GRPC_PYTHON_SOURCE_PATH}/${PYTHON_SCRIPT}")
endforeach()
endif()
add_library( ${PROJECT_NAME} OBJECT
${SOURCE_GROUP_HEADER_FILES}
${SOURCE_GROUP_SOURCE_FILES}
${GRPC_HEADER_FILES}
${GRPC_CPP_SOURCES}
)
add_library(
${PROJECT_NAME} OBJECT
${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES}
${GRPC_HEADER_FILES} ${GRPC_CPP_SOURCES})
target_link_libraries( ${PROJECT_NAME}
${LINK_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} ${LINK_LIBRARIES})
if(MSVC)
# GRPC generates a lot of harmless warnings on MSVC
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4251 /wd4702 /wd4005 /wd4244 /wd4125 /wd4267")
set_target_properties(
${PROJECT_NAME}
PROPERTIES COMPILE_FLAGS "/wd4251 /wd4702 /wd4005 /wd4244 /wd4125 /wd4267")
else()
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "-Wno-overloaded-virtual")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"-Wno-overloaded-virtual")
endif()
# install gRPC Python files
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE AND RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE)
message(STATUS "Installing Python modules")
add_custom_command(
TARGET PipInstall
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --upgrade pip
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --user wheel setuptools pytest
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --user grpcio-tools
)
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --upgrade
pip
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --user
wheel setuptools pytest
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --user
grpcio-tools)
endif()
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE AND RESINSIGHT_GRPC_BUNDLE_PYTHON_MODULE)
message(STATUS "Bundling Python GRPC modules")
add_custom_command(
TARGET PipInstall
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --user --target=${GRPC_PYTHON_SOURCE_PATH} grpcio-tools
)
COMMAND ${RESINSIGHT_GRPC_PYTHON_EXECUTABLE} ARGS -m pip install --user
--target=${GRPC_PYTHON_SOURCE_PATH} grpcio-tools)
endif()
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
add_custom_target(GeneratedPythonSources ALL DEPENDS ${GRPC_PYTHON_SOURCES_FULL_PATH})
add_custom_target(GeneratedPythonSources ALL
DEPENDS ${GRPC_PYTHON_SOURCES_FULL_PATH})
add_dependencies(${PROJECT_NAME} GeneratedPythonSources)
if(RESINSIGHT_GRPC_DOWNLOAD_PYTHON_MODULE)
@@ -286,11 +286,18 @@ if (RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
endif()
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
install(DIRECTORY ${GRPC_PYTHON_SOURCE_PATH}/ DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python)
install(DIRECTORY ${GRPC_PYTHON_SOURCE_PATH}/
DESTINATION ${RESINSIGHT_INSTALL_FOLDER}/Python)
endif()
source_group( "GrpcInterface" FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES} ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.cmake )
source_group(
"GrpcInterface"
FILES ${SOURCE_GROUP_HEADER_FILES} ${SOURCE_GROUP_SOURCE_FILES}
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.cmake)
source_group("GrpcInterface\\GrpcProtos" FILES ${GRPC_PROTO_FILES_FULL_PATH})
if(RESINSIGHT_GRPC_PYTHON_EXECUTABLE)
source_group(TREE ${GRPC_PYTHON_SOURCE_PATH} FILES ${GRPC_PYTHON_SOURCES_FULL_PATH} PREFIX "GrpcInterface\\Python")
source_group(
TREE ${GRPC_PYTHON_SOURCE_PATH}
FILES ${GRPC_PYTHON_SOURCES_FULL_PATH}
PREFIX "GrpcInterface\\Python")
endif()

View File

@@ -2,23 +2,15 @@ cmake_minimum_required (VERSION 3.12)
project(ResultStatisticsCache)
include_directories(
${LibCore_SOURCE_DIR}
)
include_directories(${LibCore_SOURCE_DIR})
add_library( ${PROJECT_NAME}
RigStatisticsCalculator.h
RigStatisticsCalculator.cpp
RigStatisticsDataCache.h
RigStatisticsDataCache.cpp
RigStatisticsMath.h
RigStatisticsMath.cpp
)
add_library(
${PROJECT_NAME}
RigStatisticsCalculator.h RigStatisticsCalculator.cpp
RigStatisticsDataCache.h RigStatisticsDataCache.cpp RigStatisticsMath.h
RigStatisticsMath.cpp)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} LibCore)

View File

@@ -3,9 +3,12 @@ cmake_minimum_required (VERSION 2.8.12)
project(CeeApp)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message("Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
# Qt
@@ -14,10 +17,16 @@ if (NOT DEFINED(CEE_USE_QT5))
endif(NOT DEFINED (CEE_USE_QT5))
if(CEE_USE_QT5)
find_package(Qt5 COMPONENTS REQUIRED Core Gui OpenGL Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui OpenGL Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::OpenGL Qt5::Widgets)
else()
find_package(Qt4 COMPONENTS QtCore QtGui QtMain QtOpenGl REQUIRED)
find_package(
Qt4
COMPONENTS QtCore QtGui QtMain QtOpenGl
REQUIRED)
include(${QT_USE_FILE})
endif(CEE_USE_QT5)
@@ -29,14 +38,9 @@ if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
endif()
# 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)
# 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)
# libraries
add_subdirectory(cafProjectDataModel/cafPdmCore)
@@ -62,9 +66,9 @@ add_subdirectory (cafProjectDataModel/cafProjectDataModel_UnitTests)
add_subdirectory(cafUserInterface/cafUserInterface_UnitTests)
add_subdirectory(cafPdmScripting/cafPdmScripting_UnitTests)
# Organize sub-projects into folders on Visual Studio
# Turn on using solution folders
# Organize sub-projects into folders on Visual Studio Turn on using solution
# folders
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(TARGET cafPdmCore cafPdmCore_UnitTests cafPdmXml cafPdmXml_UnitTests cafPdmUiCore PROPERTY FOLDER "PdmCore")
set_property(TARGET cafPdmCore cafPdmCore_UnitTests cafPdmXml
cafPdmXml_UnitTests cafPdmUiCore PROPERTY FOLDER "PdmCore")

View File

@@ -14,15 +14,17 @@ find_package( OpenGL )
# Qt
# These headers need to go through Qt's MOC compiler
set( MOC_HEADER_FILES
cafMessagePanel.h
)
set(MOC_HEADER_FILES cafMessagePanel.h)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets OpenGL)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
add_library( ${PROJECT_NAME}
add_library(
${PROJECT_NAME}
cafEffectCache.cpp
cafEffectCache.h
cafEffectGenerator.cpp
@@ -43,35 +45,28 @@ add_library( ${PROJECT_NAME}
cafColorTable.h
cafContourLines.cpp
cafContourLines.h
cvfStructGridGeometryGenerator.cpp
cvfStructGridGeometryGenerator.h
cvfStructGridScalarDataAccess.h
cafVecIjk.cpp
cafVecIjk.h
${MOC_SOURCE_FILES})
${MOC_SOURCE_FILES}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries ( ${PROJECT_NAME}
target_link_libraries(
${PROJECT_NAME}
LibCore
LibGeometry
LibViewing
LibRender
LibGuiQt
cafPdmCore
${QT_LIBRARIES}
)
${QT_LIBRARIES})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -9,49 +9,35 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# Qt
set( MOC_HEADER_FILES
cafFrameAnimationControl.h
cafAnimationToolBar.h
cafPopupMenuButton.h
)
set(MOC_HEADER_FILES cafFrameAnimationControl.h cafAnimationToolBar.h
cafPopupMenuButton.h)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
# NOTE! Resources in this subfolder appends to the variable QRC_FILES in parent scope
# CMakeList.txt in the application folder (parent scope) must use the following syntax
# to make sure the QRC_FILES variable contains appended files in subfolders
# NOTE! Resources in this subfolder appends to the variable QRC_FILES in parent
# scope CMakeList.txt in the application folder (parent scope) must use the
# following syntax to make sure the QRC_FILES variable contains appended files
# in subfolders
# set( QRC_FILES
# ${QRC_FILES}
# Resources/MyaApplication.qrc
# )
# set( QRC_FILES ${QRC_FILES} Resources/MyaApplication.qrc )
set(QRC_FILES
${QRC_FILES}
${CMAKE_CURRENT_SOURCE_DIR}/Resources/cafAnimControl.qrc
PARENT_SCOPE
)
${QRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/Resources/cafAnimControl.qrc
PARENT_SCOPE)
set(PROJECT_FILES
cafFrameAnimationControl.h
cafFrameAnimationControl.cpp
cafAnimationToolBar.h
cafAnimationToolBar.cpp
cafPopupMenuButton.h
cafPopupMenuButton.cpp
)
cafFrameAnimationControl.h cafFrameAnimationControl.cpp
cafAnimationToolBar.h cafAnimationToolBar.cpp cafPopupMenuButton.h
cafPopupMenuButton.cpp)
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
${MOC_SOURCE_FILES}
)
add_library(${PROJECT_NAME} ${PROJECT_FILES} ${MOC_SOURCE_FILES})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES})

View File

@@ -9,58 +9,44 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# These headers need to go through Qt's MOC compiler
set (MOC_HEADER_FILES
cafCmdFeature.h
cafCmdFeatureManager.h
)
set(MOC_HEADER_FILES cafCmdFeature.h cafCmdFeatureManager.h)
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
set(PROJECT_FILES
cafCmdExecCommandManager.cpp
cafCmdExecCommandManager.h
cafCmdExecuteCommand.h
cafCmdUiCommandSystemImpl.h
cafCmdUiCommandSystemImpl.cpp
cafCmdFieldChangeExec.cpp
cafCmdFieldChangeExec.h
cafCmdSelectionHelper.cpp
cafCmdSelectionHelper.h
cafCmdSelectionChangeExec.cpp
cafCmdSelectionChangeExec.h
cafCmdFeature.cpp
cafCmdFeature.h
cafCmdFeatureManager.cpp
cafCmdFeatureManager.h
cafCmdFeatureMenuBuilder.cpp
cafCmdFeatureMenuBuilder.h
)
cafCmdFeatureMenuBuilder.h)
add_library(${PROJECT_NAME} ${PROJECT_FILES} ${MOC_SOURCE_FILES})
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
${MOC_SOURCE_FILES}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries ( ${PROJECT_NAME}
cafProjectDataModel
${QT_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} cafProjectDataModel ${QT_LIBRARIES})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -9,17 +9,17 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# These headers need to go through Qt's MOC compiler
set (MOC_HEADER_FILES
)
set(MOC_HEADER_FILES)
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
set(PROJECT_FILES
# Default features
AddAndDelete/cafCmdAddItemExec.cpp
AddAndDelete/cafCmdAddItemExec.h
@@ -33,7 +33,6 @@ set( PROJECT_FILES
AddAndDelete/cafCmdDeleteItemExecData.h
AddAndDelete/cafCmdDeleteItemFeature.cpp
AddAndDelete/cafCmdDeleteItemFeature.h
ToggleCommands/cafToggleItemsFeature.cpp
ToggleCommands/cafToggleItemsFeature.h
ToggleCommands/cafToggleItemsFeatureImpl.cpp
@@ -43,57 +42,54 @@ set( PROJECT_FILES
ToggleCommands/cafToggleItemsOnFeature.cpp
ToggleCommands/cafToggleItemsOnFeature.h
ToggleCommands/cafToggleItemsOnOthersOffFeature.cpp
ToggleCommands/cafToggleItemsOnOthersOffFeature.h
)
ToggleCommands/cafToggleItemsOnOthersOffFeature.h)
# NOTE! Resources in this subfolder appends to the variable QRC_FILES in parent scope
# CMakeList.txt in the application folder (parent scope) must use the following syntax
# to make sure the QRC_FILES variable contains appended files in subfolders
# NOTE! Resources in this subfolder appends to the variable QRC_FILES in parent
# scope CMakeList.txt in the application folder (parent scope) must use the
# following syntax to make sure the QRC_FILES variable contains appended files
# in subfolders
# set( QRC_FILES
# ${QRC_FILES}
# <Path/To/ApplicationResourceFile.qrc>
# )
# set( QRC_FILES ${QRC_FILES} <Path/To/ApplicationResourceFile.qrc> )
set(QRC_FILES
${QRC_FILES}
${CMAKE_CURRENT_SOURCE_DIR}/Resources/cafCommandFeatures.qrc
PARENT_SCOPE
)
${QRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/Resources/cafCommandFeatures.qrc
PARENT_SCOPE)
# NOTE! Adding the library as a cmake "OBJECT" library
# to make sure the linker is not pruning the seemingly unused features,
# and to make sure that the static initialization based registration of the features into the factory is done properly
# see https://gitlab.kitware.com/cmake/community/wikis/doc/tutorials/Object-Library
# and https://cmake.org/cmake/help/v3.15/command/add_library.html?highlight=add_library#object-libraries
add_library( ${PROJECT_NAME} OBJECT
${PROJECT_FILES}
${MOC_SOURCE_FILES}
)
# NOTE! Adding the library as a cmake "OBJECT" library to make sure the linker
# is not pruning the seemingly unused features, and to make sure that the static
# initialization based registration of the features into the factory is done
# properly see
# https://gitlab.kitware.com/cmake/community/wikis/doc/tutorials/Object-Library
# and
# https://cmake.org/cmake/help/v3.15/command/add_library.html?highlight=add_library#object-libraries
add_library(${PROJECT_NAME} OBJECT ${PROJECT_FILES} ${MOC_SOURCE_FILES})
target_include_directories(${PROJECT_NAME}
target_include_directories(
${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
$<TARGET_PROPERTY:cafCommand,INCLUDE_DIRECTORIES> # Needed for cmake version < 3.12. Remove when we can use target_link_libraries
$<TARGET_PROPERTY:cafUserInterface,INCLUDE_DIRECTORIES> # Needed for cmake version < 3.12. Remove when we can use target_link_libraries
$<TARGET_PROPERTY:cafCommand,INCLUDE_DIRECTORIES> # Needed for cmake version
# < 3.12. Remove when we
# can use
# target_link_libraries
$<TARGET_PROPERTY:cafUserInterface,INCLUDE_DIRECTORIES> # Needed for cmake
# version < 3.12.
# Remove when we can
# use
# target_link_libraries
)
# Before cmake 3.12 OBJECT libraries could not use the target_link_libraries command,
# So we need to set the POSITION_INDEPENDENT_CODE option manually
# Before cmake 3.12 OBJECT libraries could not use the target_link_libraries
# command, So we need to set the POSITION_INDEPENDENT_CODE option manually
set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
# Not to be used until we can use cmake 3.12 or above
#target_link_libraries ( ${PROJECT_NAME}
# cafCommand
# cafUserInterface
# ${QT_LIBRARIES}
#)
# Not to be used until we can use cmake 3.12 or above target_link_libraries (
# ${PROJECT_NAME} cafCommand cafUserInterface ${QT_LIBRARIES} )
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -2,19 +2,11 @@ cmake_minimum_required (VERSION 3.12)
project(cafHexInterpolator)
set( PROJECT_FILES
cafHexInterpolator.h
)
set(PROJECT_FILES cafHexInterpolator.h)
add_library(${PROJECT_NAME} ${PROJECT_FILES})
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} LibCore)

View File

@@ -3,32 +3,27 @@ cmake_minimum_required (VERSION 2.8.12)
project(cafHexInterpolator_UnitTests)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message(STATUS "Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
STATUS
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
set(VIZ_MODULES_FOLDER_NAME ../../../../Fwk/VizFwk)
add_subdirectory(${VIZ_MODULES_FOLDER_NAME}/LibCore LibCoreDir})
include_directories (
${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
include_directories(${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
)
set( PROJECT_FILES
cafHexInterpolatorBasicTest.cpp
cafHexInterpolator_UnitTests_main.cpp
)
set(PROJECT_FILES cafHexInterpolatorBasicTest.cpp
cafHexInterpolator_UnitTests_main.cpp)
# add the executable
add_executable (${PROJECT_NAME}
${PROJECT_FILES}
gtest/gtest-all.cpp
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES} gtest/gtest-all.cpp)
target_link_libraries ( ${PROJECT_NAME}
LibCore
)
target_link_libraries(${PROJECT_NAME} LibCore)
source_group("" FILES ${PROJECT_FILES})

View File

@@ -9,13 +9,17 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
add_definitions(-DCVF_USING_CMAKE)
add_library( ${PROJECT_NAME}
add_library(
${PROJECT_NAME}
cafPdmCoreColor3f.h
cafPdmUiCoreColor3f.cpp
cafPdmUiCoreColor3f.h
@@ -28,34 +32,24 @@ add_library( ${PROJECT_NAME}
cafPdmXmlVec3d.cpp
cafPdmXmlVec3d.h
cafPdmFieldCvfVec3d.h
cafPdmCoreMat4d.h
# cafPdmUiCoreVec3d.cpp no special editor for matrix is created yet
cafPdmUiCoreMat4d.h
cafPdmXmlMat4d.cpp
cafPdmXmlMat4d.h
cafPdmFieldCvfMat4d.h
cafPdmMat3d/cafPdmCoreMat3d.h
cafPdmMat3d/cafPdmUiCoreMat3d.h
cafPdmMat3d/cafPdmXmlMat3d.cpp
cafPdmMat3d/cafPdmXmlMat3d.h
cafPdmMat3d/cafPdmFieldCvfMat3d.h
${MOC_HEADER_FILES}
${MOC_SOURCE_FILES}
)
${MOC_SOURCE_FILES})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/cafPdmMat3d
)
target_include_directories(
${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/cafPdmMat3d)
target_link_libraries ( ${PROJECT_NAME}
cafUserInterface
LibCore
${QT_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} cafUserInterface LibCore ${QT_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})

View File

@@ -4,36 +4,25 @@ find_package(Qt5 CONFIG COMPONENTS Core)
if(Qt5Core_FOUND)
find_package(Qt5 CONFIG REQUIRED Core)
else()
find_package(Qt4 COMPONENTS QtCore REQUIRED)
find_package(
Qt4
COMPONENTS QtCore
REQUIRED)
include(${QT_USE_FILE})
endif(Qt5Core_FOUND)
project(cafPdmCvf_UnitTests)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${cafPdmCore_SOURCE_DIR}
${cafPdmXml_SOURCE_DIR}
${cafPdmCvf_SOURCE_DIR}
${LibCore_SOURCE_DIR}
)
${CMAKE_CURRENT_SOURCE_DIR} ${cafPdmCore_SOURCE_DIR} ${cafPdmXml_SOURCE_DIR}
${cafPdmCvf_SOURCE_DIR} ${LibCore_SOURCE_DIR})
set(PROJECT_FILES
cafPdmCvf_UnitTests.cpp
gtest/gtest-all.cpp
cafPdmCoreVec3dTest.cpp
cafPdmCoreColor3fTest.cpp
cafPdmCoreMat4dTest.cpp
)
cafPdmCvf_UnitTests.cpp gtest/gtest-all.cpp cafPdmCoreVec3dTest.cpp
cafPdmCoreColor3fTest.cpp cafPdmCoreMat4dTest.cpp)
# add the executable
add_executable (${PROJECT_NAME}
${PROJECT_FILES}
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES})
if(Qt5Core_FOUND)
set(QT_LIBRARIES Qt5::Core)
@@ -41,20 +30,17 @@ endif()
source_group("" FILES ${PROJECT_FILES})
target_link_libraries ( ${PROJECT_NAME}
cafPdmCore
cafPdmXml
LibCore
cafPdmCvf
${QT_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} cafPdmCore cafPdmXml LibCore cafPdmCvf
${QT_LIBRARIES})
# Copy Qt Dlls
if(Qt5Core_FOUND)
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)
# Copy Qt Dlls
else()
@@ -64,10 +50,14 @@ else()
foreach(qtlib ${QTLIBLIST})
# Debug
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll)
execute_process(
COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll
${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll)
# Release
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll)
execute_process(
COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll
${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll)
endforeach(qtlib)
endif(MSVC)
endif(Qt5Core_FOUND)

View File

@@ -31,37 +31,25 @@ set( PROJECT_FILES
cafPdmMarkdownGenerator.h
cafPdmMarkdownGenerator.cpp
cafPdmMarkdownBuilder.h
cafPdmMarkdownBuilder.cpp
)
cafPdmMarkdownBuilder.cpp)
set(CAF_LIBS cafProjectDataModel)
if(CAF_CVF_SCRIPTING)
list(APPEND PROJECT_FILES
list(
APPEND
PROJECT_FILES
cafPdmFieldScriptingCapabilityCvfColor3.h
cafPdmFieldScriptingCapabilityCvfColor3.cpp
cafPdmFieldScriptingCapabilityCvfVec3d.h
cafPdmFieldScriptingCapabilityCvfVec3d.cpp
)
cafPdmFieldScriptingCapabilityCvfVec3d.cpp)
list(APPEND CAF_LIBS cafPdmCvf)
endif()
add_library(${PROJECT_NAME} ${PROJECT_FILES})
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries ( ${PROJECT_NAME}
${CAF_LIBS}
)
target_link_libraries(${PROJECT_NAME} ${CAF_LIBS})
source_group("" FILES ${PROJECT_FILES})

View File

@@ -2,40 +2,41 @@ cmake_minimum_required (VERSION 2.8.12)
project(cafPdmScripting_UnitTests)
find_package(Qt5 COMPONENTS REQUIRED Core Xml Gui)
find_package(
Qt5
COMPONENTS
REQUIRED Core Xml Gui)
set(QT_LIBRARIES Qt5::Core Qt5::Xml Qt5::Gui)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message(STATUS "Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
STATUS
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
include_directories (
${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
include_directories(${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
)
# add the executable
add_executable (${PROJECT_NAME}
cafPdmScripting_UnitTests.cpp
gtest/gtest-all.cpp
add_executable(${PROJECT_NAME} cafPdmScripting_UnitTests.cpp
gtest/gtest-all.cpp cafPdmScriptingBasicTest.cpp)
cafPdmScriptingBasicTest.cpp
)
target_link_libraries ( ${PROJECT_NAME}
cafPdmScripting
${QT_LIBRARIES}
${THREAD_LIBRARY}
)
target_link_libraries(${PROJECT_NAME} cafPdmScripting ${QT_LIBRARIES}
${THREAD_LIBRARY})
source_group("" FILES ${PROJECT_FILES})
# Copy Qt Dlls
if(Qt5Core_FOUND)
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)
endif(Qt5Core_FOUND)

View File

@@ -9,7 +9,10 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
set(PROJECT_FILES
@@ -20,26 +23,17 @@ set( PROJECT_FILES
cafPdmObjectGroup.cpp
cafPdmObjectGroup.h
cafPdmObject.cpp
cafPdmObject.h
)
cafPdmObject.h)
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
)
add_library(${PROJECT_NAME} ${PROJECT_FILES})
target_link_libraries ( ${PROJECT_NAME}
cafPdmUiCore
cafPdmXml
${QT_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} cafPdmUiCore cafPdmXml ${QT_LIBRARIES})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -8,11 +8,13 @@ if (CAF_ENABLE_UNITY_BUILD)
set(CMAKE_UNITY_BUILD true)
endif()
find_package(Qt5 COMPONENTS REQUIRED Core)
find_package(
Qt5
COMPONENTS
REQUIRED Core)
set(QT_LIBRARIES Qt5::Core)
set(PROJECT_FILES
cafAssert.h
cafAppEnum.h
cafClassTypeName.h
@@ -45,13 +47,10 @@ set( PROJECT_FILES
cafPdmUiFieldHandleInterface.h
cafPdmValueField.h
cafInternalPdmValueFieldSpecializations.h
cafNotificationCenter.cpp
cafNotificationCenter.h
cafSignal.h
cafSignal.cpp
cafTristate.cpp
cafTristate.h
cafFilePath.cpp
@@ -59,22 +58,17 @@ set( PROJECT_FILES
cafAsyncObjectDeleter.h
cafAsyncObjectDeleter.inl
cafAsyncWorkerManager.h
cafAsyncWorkerManager.cpp
)
cafAsyncWorkerManager.cpp)
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
)
add_library(${PROJECT_NAME} ${PROJECT_FILES})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -3,59 +3,56 @@ cmake_minimum_required (VERSION 2.8.12)
project(cafPdmCore_UnitTests)
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Widgets Qt5::Gui)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message(STATUS "Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
STATUS
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
include_directories (
${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
include_directories(${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
)
set(PROJECT_FILES
cafPdmCore_UnitTests.cpp
gtest/gtest-all.cpp
cafPdmCoreBasicTest.cpp
cafPdmReferenceHelperTest.cpp
cafPdmChildArrayFieldHandleTest.cpp
cafSignalTest.cpp
Child.cpp
Child.h
Parent.cpp
Parent.h
TestObj.cpp
TestObj.h
)
TestObj.h)
# add the executable
add_executable (${PROJECT_NAME}
${PROJECT_FILES}
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES})
source_group("" FILES ${PROJECT_FILES})
if(Qt5Core_FOUND)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
endif()
target_link_libraries ( ${PROJECT_NAME}
cafPdmCore
${QT_LIBRARIES}
${THREAD_LIBRARY}
)
target_link_libraries(${PROJECT_NAME} cafPdmCore ${QT_LIBRARIES}
${THREAD_LIBRARY})
# Copy Qt Dlls
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)

View File

@@ -9,31 +9,26 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# These headers need to go through Qt's MOC compiler
set (MOC_HEADER_FILES
cafPdmUiEditorHandle.h
cafPdmUiFieldEditorHandle.h
cafPdmUiSelection3dEditorVisualizer.h
cafQShortenedLabel.h
)
set(MOC_HEADER_FILES cafPdmUiEditorHandle.h cafPdmUiFieldEditorHandle.h
cafPdmUiSelection3dEditorVisualizer.h cafQShortenedLabel.h)
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
include_directories (
..
)
include_directories(..)
add_definitions(-DCVF_USING_CMAKE)
set(PROJECT_FILES
cafInternalPdmFieldTypeSpecializations.h
cafInternalPdmUiFieldCapability.h
cafInternalPdmUiFieldCapability.inl
cafInternalPdmUiCommandSystemInterface.h
cafPdmUiEditorHandle.cpp
cafPdmUiEditorHandle.h
cafPdmUiFieldEditorHandle.cpp
@@ -62,7 +57,6 @@ set( PROJECT_FILES
cafUiTreeItem.h
cafPdmUiGroup.cpp
cafPdmUiGroup.h
cafSelectionManager.cpp
cafSelectionManager.h
cafSelectionChangedReceiver.h
@@ -75,41 +69,28 @@ set( PROJECT_FILES
cafIconProvider.cpp
cafIconProvider.h
cafFontTools.cpp
cafFontTools.h
)
cafFontTools.h)
# NOTE! Resources in this subfolder appends to the variable QRC_FILES in parent scope
# CMakeList.txt in the application folder (parent scope) must use the following syntax
# to make sure the QRC_FILES variable contains appended files in subfolders
# NOTE! Resources in this subfolder appends to the variable QRC_FILES in parent
# scope CMakeList.txt in the application folder (parent scope) must use the
# following syntax to make sure the QRC_FILES variable contains appended files
# in subfolders
# set( QRC_FILES
# ${QRC_FILES}
# Resources/MyaApplication.qrc
# )
# set( QRC_FILES ${QRC_FILES} Resources/MyaApplication.qrc )
set(QRC_FILES
${QRC_FILES}
${CMAKE_CURRENT_SOURCE_DIR}/Resources/caf.qrc
PARENT_SCOPE
)
${QRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/Resources/caf.qrc
PARENT_SCOPE)
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
${MOC_SOURCE_FILES}
)
add_library(${PROJECT_NAME} ${PROJECT_FILES} ${MOC_SOURCE_FILES})
target_link_libraries ( ${PROJECT_NAME}
cafPdmCore
${QT_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} cafPdmCore ${QT_LIBRARIES})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -9,12 +9,13 @@ if (CAF_ENABLE_UNITY_BUILD)
endif()
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Xml)
find_package(
Qt5
COMPONENTS
REQUIRED Core Xml)
set(QT_LIBRARIES Qt5::Core Qt5::Xml)
include_directories (
..
)
include_directories(..)
set(PROJECT_FILES
cafInternalPdmFieldIoHelper.cpp
@@ -27,41 +28,27 @@ set( PROJECT_FILES
cafInternalPdmXmlFieldCapability.inl
cafInternalPdmXmlFieldReaderWriter.cpp
cafInternalPdmXmlFieldReaderWriter.h
cafPdmXmlFieldHandle.cpp
cafPdmXmlFieldHandle.h
cafPdmXmlObjectHandle.cpp
cafPdmXmlObjectHandle.h
cafPdmXmlObjectHandleMacros.h
cafPdmDefaultObjectFactory.cpp
cafPdmDefaultObjectFactory.h
cafPdmObjectFactory.h
cafPdmSettings.h
cafPdmSettings.cpp
cafPdmXmlStringValidation.h)
cafPdmXmlStringValidation.h
)
add_library(${PROJECT_NAME} ${PROJECT_FILES})
target_link_libraries(${PROJECT_NAME} cafPdmCore ${QT_LIBRARIES})
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
)
target_link_libraries ( ${PROJECT_NAME}
cafPdmCore
${QT_LIBRARIES}
)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -2,47 +2,47 @@ cmake_minimum_required (VERSION 2.8.12)
project(cafPdmXml_UnitTests)
find_package(Qt5 COMPONENTS REQUIRED Core Xml)
find_package(
Qt5
COMPONENTS
REQUIRED Core Xml)
set(QT_LIBRARIES Qt5::Core Qt5::Xml)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message(STATUS "Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
STATUS
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
include_directories (
${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
include_directories(${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
)
# add the executable
add_executable (${PROJECT_NAME}
cafPdmXml_UnitTests.cpp
gtest/gtest-all.cpp
cafPdmXmlBasicTest.cpp
cafPdmAdvancedTemplateTest.cpp
cafPdmXmlNumberTest.cpp
cafPdmPtrArrayTest.cpp
)
add_executable(
${PROJECT_NAME}
cafPdmXml_UnitTests.cpp gtest/gtest-all.cpp cafPdmXmlBasicTest.cpp
cafPdmAdvancedTemplateTest.cpp cafPdmXmlNumberTest.cpp cafPdmPtrArrayTest.cpp)
if(Qt5Core_FOUND)
set(QT_LIBRARIES Qt5::Core Qt5::Xml)
endif()
target_link_libraries ( ${PROJECT_NAME}
cafPdmXml
${QT_LIBRARIES}
${THREAD_LIBRARY}
)
target_link_libraries(${PROJECT_NAME} cafPdmXml ${QT_LIBRARIES}
${THREAD_LIBRARY})
source_group("" FILES ${PROJECT_FILES})
# Copy Qt Dlls
if(Qt5Core_FOUND)
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)
endif(Qt5Core_FOUND)

View File

@@ -3,44 +3,41 @@ cmake_minimum_required (VERSION 2.8.12)
project(cafProjectDataModel_UnitTests)
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Xml Gui)
find_package(
Qt5
COMPONENTS
REQUIRED Core Xml Gui)
set(QT_LIBRARIES Qt5::Core Qt5::Xml Qt5::Gui)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message(STATUS "Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
STATUS
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
include_directories (
${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
include_directories(${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
)
set( PROJECT_FILES
cafPdmBasicTest.cpp
cafProjectDataModel_UnitTests.cpp
Child.cpp
Parent.cpp
TestObj.cpp
)
set(PROJECT_FILES cafPdmBasicTest.cpp cafProjectDataModel_UnitTests.cpp
Child.cpp Parent.cpp TestObj.cpp)
# add the executable
add_executable (${PROJECT_NAME}
${PROJECT_FILES}
gtest/gtest-all.cpp
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES} gtest/gtest-all.cpp)
target_link_libraries ( ${PROJECT_NAME}
cafProjectDataModel
${QT_LIBRARIES}
${THREAD_LIBRARY}
)
target_link_libraries(${PROJECT_NAME} cafProjectDataModel ${QT_LIBRARIES}
${THREAD_LIBRARY})
source_group("" FILES ${PROJECT_FILES})
# Copy Qt Dlls
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)

View File

@@ -2,21 +2,11 @@ cmake_minimum_required (VERSION 3.12)
project(cafTensor)
set( PROJECT_FILES
cafTensor3.cpp
cafTensor3.h
cafTensor3.inl
)
set(PROJECT_FILES cafTensor3.cpp cafTensor3.h cafTensor3.inl)
add_library(${PROJECT_NAME} ${PROJECT_FILES})
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} LibCore)

View File

@@ -8,20 +8,16 @@ find_package( OpenGL )
# Qt
# Qt MOC
set (MOC_HEADER_FILES
MainWindow.h
WidgetLayoutTest.h
CustomObjectEditor.h
MenuItemProducer.h
)
set(MOC_HEADER_FILES MainWindow.h WidgetLayoutTest.h CustomObjectEditor.h
MenuItemProducer.h)
# Resource file
set( QRC_FILES
${QRC_FILES}
textedit.qrc
)
set(QRC_FILES ${QRC_FILES} textedit.qrc)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets OpenGL)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
qt5_add_resources(QRC_FILES_CPP ${QRC_FILES})
@@ -29,13 +25,10 @@ qt5_add_resources( QRC_FILES_CPP ${QRC_FILES} )
option(USE_COMMAND_FRAMEWORK "Use Caf Command Framework" ON)
if(USE_COMMAND_FRAMEWORK)
include_directories (
${cafCommand_SOURCE_DIR}
)
ADD_DEFINITIONS(-DTAP_USE_COMMAND_FRAMEWORK)
include_directories(${cafCommand_SOURCE_DIR})
add_definitions(-DTAP_USE_COMMAND_FRAMEWORK)
endif(USE_COMMAND_FRAMEWORK)
set(PROJECT_FILES
Main.cpp
MainWindow.cpp
@@ -48,50 +41,45 @@ set( PROJECT_FILES
CustomObjectEditor.h
MenuItemProducer.cpp
MenuItemProducer.h
TamComboBox.h
TamComboBox.cpp
)
TamComboBox.cpp)
# add the executable
add_executable ( ${PROJECT_NAME}
add_executable(
${PROJECT_NAME}
${PROJECT_FILES}
${MOC_SOURCE_FILES}
${QRC_FILES_CPP}
$<TARGET_OBJECTS:cafCommandFeatures> # Needed for cmake version < 3.12. Remove when we can use target_link_libraries with OBJECT libraries
$<TARGET_OBJECTS:cafCommandFeatures> # Needed for cmake version < 3.12. Remove
# when we can use target_link_libraries
# with OBJECT libraries
)
set (TAP_LINK_LIBRARIES
cafUserInterface
)
set(TAP_LINK_LIBRARIES cafUserInterface)
if(USE_COMMAND_FRAMEWORK)
set(TAP_LINK_LIBRARIES
${TAP_LINK_LIBRARIES}
cafCommand
#cafCommandFeatures # Not possible using cmake version < 3.12. Use when we can use target_link_libraries with OBJECT libraries
${TAP_LINK_LIBRARIES} cafCommand
# cafCommandFeatures # Not possible using cmake version < 3.12. Use when
# we can use target_link_libraries with OBJECT libraries
)
endif(USE_COMMAND_FRAMEWORK)
# According to ivarun this is needed on OpenSuse, and Fedora. See: https://github.com/OPM/ResInsight/pull/7
# According to ivarun this is needed on OpenSuse, and Fedora. See:
# https://github.com/OPM/ResInsight/pull/7
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
list(APPEND EXTERNAL_LINK_LIBRARIES
rt
pthread
)
list(APPEND EXTERNAL_LINK_LIBRARIES rt pthread)
endif()
target_link_libraries ( ${PROJECT_NAME}
${TAP_LINK_LIBRARIES}
${QT_LIBRARIES}
${EXTERNAL_LINK_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} ${TAP_LINK_LIBRARIES} ${QT_LIBRARIES}
${EXTERNAL_LINK_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)

View File

@@ -2,24 +2,20 @@ cmake_minimum_required (VERSION 2.8)
project(cafTestCvfApplication)
# Qt MOC
set ( MOC_HEADER_FILES
MainWindow.h
WidgetLayoutTest.h
)
set(MOC_HEADER_FILES MainWindow.h WidgetLayoutTest.h)
# Resource file
set( QRC_FILES
textedit.qrc
)
set(QRC_FILES textedit.qrc)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets OpenGL)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
qt5_add_resources(QRC_FILES_CPP ${QRC_FILES})
option(USE_COMMAND_FRAMEWORK "Use Caf Command Framework" ON)
include_directories(
@@ -28,67 +24,38 @@ include_directories (
${LibGuiQt_SOURCE_DIR}
${LibRender_SOURCE_DIR}
${LibViewing_SOURCE_DIR}
${cafProjectDataModel_SOURCE_DIR}
${cafUserInterface_SOURCE_DIR}
)
${cafUserInterface_SOURCE_DIR})
if(USE_COMMAND_FRAMEWORK)
include_directories (
${cafCommand_SOURCE_DIR}
)
ADD_DEFINITIONS(-DTAP_USE_COMMAND_FRAMEWORK)
include_directories(${cafCommand_SOURCE_DIR})
add_definitions(-DTAP_USE_COMMAND_FRAMEWORK)
endif(USE_COMMAND_FRAMEWORK)
include_directories(${cafPdmCore_SOURCE_DIR} ${cafPdmUiCore_SOURCE_DIR}
${cafPdmXml_SOURCE_DIR} ${cafPdmCvf_SOURCE_DIR})
include_directories (
${cafPdmCore_SOURCE_DIR}
${cafPdmUiCore_SOURCE_DIR}
${cafPdmXml_SOURCE_DIR}
${cafPdmCvf_SOURCE_DIR}
)
set( PROJECT_FILES
Main.cpp
MainWindow.cpp
WidgetLayoutTest.cpp
TapCvfSpecialization.cpp
TapProject.cpp
)
set(PROJECT_FILES Main.cpp MainWindow.cpp WidgetLayoutTest.cpp
TapCvfSpecialization.cpp TapProject.cpp)
# add the executable
add_executable ( ${PROJECT_NAME}
${PROJECT_FILES}
${MOC_SOURCE_FILES}
${QRC_FILES_CPP}
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES} ${MOC_SOURCE_FILES}
${QRC_FILES_CPP})
set (TAP_LINK_LIBRARIES
cafUserInterface
cafPdmXml
cafPdmCvf
${QT_LIBRARIES}
)
set(TAP_LINK_LIBRARIES cafUserInterface cafPdmXml cafPdmCvf ${QT_LIBRARIES})
if(USE_COMMAND_FRAMEWORK)
set (TAP_LINK_LIBRARIES
${TAP_LINK_LIBRARIES}
cafCommand
)
set(TAP_LINK_LIBRARIES ${TAP_LINK_LIBRARIES} cafCommand)
endif(USE_COMMAND_FRAMEWORK)
target_link_libraries ( ${PROJECT_NAME}
${TAP_LINK_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} ${TAP_LINK_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)

View File

@@ -52,15 +52,16 @@ set (MOC_HEADER_FILES
cafPdmUniqueIdValidator.h
cafPdmDoubleStringValidator.h
cafPdmUiPickableLineEditor.h
cafPdmUiLabelEditor.h
)
cafPdmUiLabelEditor.h)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
set(PROJECT_FILES
# field editors
cafPdmUiCheckBoxDelegate.cpp
cafPdmUiCheckBoxDelegate.h
@@ -104,8 +105,6 @@ set( PROJECT_FILES
cafPdmUiFieldEditorHelper.h
cafPdmUiFieldEditorHelper.cpp
cafPdmUiLabelEditor.cpp
# object editors
cafPdmUiDefaultObjectEditor.cpp
cafPdmUiDefaultObjectEditor.h
@@ -141,8 +140,6 @@ set( PROJECT_FILES
cafPdmUiFormLayoutObjectEditor.h
cafPdmUiDoubleValueEditor.cpp
cafPdmUiDoubleValueEditor.h
# div
cafAboutDialog.cpp
cafAboutDialog.h
@@ -165,27 +162,18 @@ set( PROJECT_FILES
cafStyleSheetTools.h
cafStyleSheetTools.cpp
cafPdmUiTabbedPropertyViewDialog.h
cafPdmUiTabbedPropertyViewDialog.cpp
)
cafPdmUiTabbedPropertyViewDialog.cpp)
add_library( ${PROJECT_NAME}
${PROJECT_FILES}
${MOC_SOURCE_FILES}
${QRC_FILES_CPP}
)
add_library(${PROJECT_NAME} ${PROJECT_FILES} ${MOC_SOURCE_FILES}
${QRC_FILES_CPP})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries ( ${PROJECT_NAME}
cafProjectDataModel
${QT_LIBRARIES}
)
target_link_libraries(${PROJECT_NAME} cafProjectDataModel ${QT_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})

View File

@@ -6,46 +6,40 @@ project ( cafUserInterface_UnitTests )
option(CEE_USE_QT5 "Use Qt5" OFF)
if(CEE_USE_QT5)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets)
else()
find_package(Qt4 COMPONENTS QtCore QtGui QtMain REQUIRED)
find_package(
Qt4
COMPONENTS QtCore QtGui QtMain
REQUIRED)
include(${QT_USE_FILE})
endif(CEE_USE_QT5)
include_directories (
${CMAKE_CURRENT_SOURCE_DIR}
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set( PROJECT_FILES
cafUserInterface_UnitTests.cpp
cafPdmUiTreeViewModelTest.cpp
cafPdmUiTreeSelectionQModelTest.cpp
gtest/gtest-all.cpp
)
set(PROJECT_FILES cafUserInterface_UnitTests.cpp cafPdmUiTreeViewModelTest.cpp
cafPdmUiTreeSelectionQModelTest.cpp gtest/gtest-all.cpp)
# add the executable
add_executable (${PROJECT_NAME}
${PROJECT_FILES}
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES})
source_group("" FILES ${PROJECT_FILES})
target_link_libraries ( ${PROJECT_NAME}
cafUserInterface
${QT_LIBRARIES}
${THREAD_LIBRARY}
)
target_link_libraries(${PROJECT_NAME} cafUserInterface ${QT_LIBRARIES}
${THREAD_LIBRARY})
# Copy Qt Dlls
if(Qt5Core_FOUND)
foreach(qtlib ${QT_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
)
add_custom_command(
TARGET ${PROJECT_NAME}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${qtlib}>
$<TARGET_FILE_DIR:${PROJECT_NAME}>)
endforeach(qtlib)
# Copy Qt Dlls
else()
@@ -55,10 +49,14 @@ else()
foreach(qtlib ${QTLIBLIST})
# Debug
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll ${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll)
execute_process(
COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}d4.dll
${CMAKE_BINARY_DIR}/Debug/${qtlib}d4.dll)
# Release
execute_process(COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll ${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll)
execute_process(
COMMAND cmake -E copy_if_different ${QT_BINARY_DIR}/${qtlib}4.dll
${CMAKE_BINARY_DIR}/Release/${qtlib}4.dll)
endforeach(qtlib)
endif(MSVC)
endif(Qt5Core_FOUND)

View File

@@ -11,15 +11,17 @@ endif()
# Qt
# These headers need to go through Qt's MOC compiler
set( MOC_HEADER_FILES
cafViewer.h
)
set(MOC_HEADER_FILES cafViewer.h)
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets OpenGL)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
add_library( ${PROJECT_NAME}
add_library(
${PROJECT_NAME}
cafCadNavigation.cpp
cafCadNavigation.h
cafCeetronNavigation.cpp
@@ -35,29 +37,23 @@ add_library( ${PROJECT_NAME}
cafOpenGLWidget.h
cafViewer.cpp
cafViewer.h
${MOC_SOURCE_FILES})
${MOC_SOURCE_FILES}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries ( ${PROJECT_NAME}
target_link_libraries(
${PROJECT_NAME}
LibCore
LibGeometry
LibViewing
LibRender
LibGuiQt
cafAnimControl
${QT_LIBRARIES}
)
${QT_LIBRARIES})
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/W4 /wd4100 /wd4127")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
"/W4 /wd4100 /wd4127")
endif()
source_group("" FILES ${PROJECT_FILES})

View File

@@ -12,11 +12,15 @@ endif()
find_package(OpenGL)
# Qt
find_package(Qt5 COMPONENTS REQUIRED Core Gui Widgets OpenGL)
find_package(
Qt5
COMPONENTS
REQUIRED Core Gui Widgets OpenGL)
set(QT_LIBRARIES Qt5::Core Qt5::Gui Qt5::Widgets Qt5::OpenGL)
qt5_wrap_cpp(MOC_SOURCE_FILES ${MOC_HEADER_FILES})
add_library( ${PROJECT_NAME}
add_library(
${PROJECT_NAME}
cafDisplayCoordTransform.cpp
cafDisplayCoordTransform.h
cafBoxManipulatorPartManager.cpp
@@ -44,26 +48,19 @@ add_library( ${PROJECT_NAME}
TranspWB_CombinationFrag.glsl
TranspWB_PartlyTranspPartsFrag.glsl
TranspWB_TransparentPartsFrag.glsl
cafHexGridIntersectionTools/cafHexGridIntersectionTools.h
cafHexGridIntersectionTools/cafHexGridIntersectionTools.cpp
)
cafHexGridIntersectionTools/cafHexGridIntersectionTools.cpp)
target_include_directories(${PROJECT_NAME}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries ( ${PROJECT_NAME}
target_link_libraries(
${PROJECT_NAME}
LibCore
LibGeometry
LibViewing
LibRender
LibGuiQt
CommonCode
${QT_LIBRARIES}
)
${QT_LIBRARIES})
source_group("" FILES ${PROJECT_FILES})

View File

@@ -3,34 +3,29 @@ cmake_minimum_required (VERSION 2.8.12)
project(cafHexGridIntersectionTools_UnitTests)
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
# VS 2017 : Disable warnings from from gtest code, using deprecated code
# related to TR1
add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
message(STATUS "Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING")
message(
STATUS
"Add flag to disable warings from gtest - _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
)
endif()
set(VIZ_MODULES_FOLDER_NAME ../../../../../Fwk/VizFwk)
add_subdirectory(${VIZ_MODULES_FOLDER_NAME}/LibCore LibCoreDir})
include_directories (
${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
include_directories(${CMAKE_CURRENT_SOURCE_DIR} # required for gtest-all.cpp
)
set(PROJECT_FILES
cafHexGridIntersectionToolsBasicTests.cpp
cafHexGridIntersectionTools_UnitTests_main.cpp
../cafHexGridIntersectionTools.cpp
../cafHexGridIntersectionTools.h
)
../cafHexGridIntersectionTools.cpp ../cafHexGridIntersectionTools.h)
# add the executable
add_executable (${PROJECT_NAME}
${PROJECT_FILES}
gtest/gtest-all.cpp
)
add_executable(${PROJECT_NAME} ${PROJECT_FILES} gtest/gtest-all.cpp)
target_link_libraries ( ${PROJECT_NAME}
LibCore
)
target_link_libraries(${PROJECT_NAME} LibCore)
source_group("" FILES ${PROJECT_FILES})