From 409d5a0a37a2bffaa88c41e87dfbbef86b83d0a6 Mon Sep 17 00:00:00 2001 From: alberto743 <4104972+alberto743@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:26:24 +0200 Subject: [PATCH 1/3] CMake requirement should be at the beginning --- CMakeLists.txt | 3 ++- CMakeSettings.json | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54e28ad8..d1e38139 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,5 @@ +cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) + # Project project(McCAD) set (McCAD_VERSION_MAJOR 1) @@ -5,7 +7,6 @@ set (McCAD_VERSION_MINOR 1) set (McCAD_VERSION ${McCAD_VERSION_MAJOR}.${McCAD_VERSION_MINOR}) # CMake -cmake_minimum_required(VERSION 3.23.0 FATAL_ERROR) enable_language(CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) diff --git a/CMakeSettings.json b/CMakeSettings.json index 91d3141f..1267ed35 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -3,12 +3,12 @@ { "name": "McCAD", "generator": "Visual Studio 17 2022 Win64", - "configurationType": "Release", + "configurationType": "RelWithDebInfo", "inheritEnvironments": [ "msvc_x64_x64" ], "buildRoot": "${projectDir}\\build", - "installRoot": "${projectDir}\\build", + "installRoot": "${projectDir}\\build\\install", "cmakeCommandArgs": "-DBUILD_RPATH=true -DBUILD_STATIC=true -DBUILD_STATIC_EXE=true -DBOOST_CUSTOM_ROOT=\"D:\\Installs\\boost_1_81_0\" -DOCC_CUSTOM_ROOT=\"D:\\Installs\\OpenCASCADE-7.7.0-vc14-64\\opencascade-7.7.0\"", "ctestCommandArgs": "" } ] -} \ No newline at end of file +} From 0895388d712c9843fb69dc52d78742763d03cb5f Mon Sep 17 00:00:00 2001 From: alberto743 <4104972+alberto743@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:26:56 +0200 Subject: [PATCH 2/3] set configured file in build directory and not in install directory --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d1e38139..47d6e0b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,8 +37,8 @@ add_subdirectory(src) # Make config file message("") -configure_file (${PROJECT_SOURCE_DIR}/src/info/info.hpp.in ${INSTALL_DIR}/src/info/info.hpp) -configure_file (${PROJECT_SOURCE_DIR}/cmake/McCADConfig.cmake.in ${INSTALL_DIR}/McCADConfig.cmake) -install(FILES ${INSTALL_DIR}/McCADConfig.cmake DESTINATION ${INSTALL_LIB_DIR}) +configure_file (${PROJECT_SOURCE_DIR}/src/info/info.hpp.in ${CMAKE_BINARY_DIR}/src/info/info.hpp) +configure_file (${PROJECT_SOURCE_DIR}/cmake/McCADConfig.cmake.in ${CMAKE_BINARY_DIR}/McCADConfig.cmake) +install(FILES ${CMAKE_BINARY_DIR}/McCADConfig.cmake DESTINATION ${INSTALL_LIB_DIR}) install(EXPORT McCADTargets DESTINATION ${INSTALL_LIB_DIR}) message("") From 0880e53f912fbaf4b68f508f3f6bb295dc95bc18 Mon Sep 17 00:00:00 2001 From: alberto743 <4104972+alberto743@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:27:23 +0200 Subject: [PATCH 3/3] When statically link, do not pass fPIC --- cmake/McCAD_build.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/McCAD_build.cmake b/cmake/McCAD_build.cmake index 0f2d2c0b..e5bc9a6e 100644 --- a/cmake/McCAD_build.cmake +++ b/cmake/McCAD_build.cmake @@ -77,7 +77,6 @@ macro (McCAD_CMake_flags) set(CMAKE_EXE_LINK_DYNAMIC_C_FLAGS) set(CMAKE_EXE_LINK_DYNAMIC_CXX_FLAGS) set(CMAKE_EXE_LINK_DYNAMIC_Fortran_FLAGS) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") elseif (BUILD_SHARED_EXE) set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX}) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -shared")