Skip to content

Commit ba76197

Browse files
Merge pull request #1993 from philippremy/bits/cmake-minimum-version
Bump every cmake_minimum_required() to 3.25
2 parents 4565187 + d6682e6 commit ba76197

File tree

7 files changed

+37
-8
lines changed

7 files changed

+37
-8
lines changed

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.14)
1+
cmake_minimum_required(VERSION 3.25)
22
project(aliceVision LANGUAGES C CXX)
33

44
option(ALICEVISION_BUILD_DEPENDENCIES "Build all AliceVision dependencies" OFF)
@@ -10,6 +10,9 @@ option(AV_USE_OPENMP "Enable OpenMP" $<$<CXX_COMPILER_ID:"AppleClang">,OFF,ON>)
1010
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
1111
option(ALICEVISION_INSTALL_MESHROOM_PLUGIN "Install AliceVision's plugin for Meshroom" ON)
1212

13+
# Global policy section
14+
cmake_policy(SET CMP0135 NEW) # Improve timestamp handling in ExternalProject_Add()
15+
1316
if (NOT CMAKE_BUILD_TYPE)
1417
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type for AliceVision" FORCE)
1518
endif()

src/CMakeLists.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.12)
1+
cmake_minimum_required(VERSION 3.25)
22
message("CMake version: ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}")
33

44
# ==============================================================================
@@ -136,8 +136,16 @@ if (WIN32)
136136
add_definitions(-DNOMINMAX)
137137
add_definitions(-D_USE_MATH_DEFINES)
138138
if (MSVC)
139+
# MSVC library version
140+
cmake_policy(SET CMP0091 NEW) # Manually choose msvcrt version
141+
if(BUILD_SHARED_LIBS)
142+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
143+
else()
144+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
145+
endif()
139146
add_compile_options(/bigobj)
140147
add_compile_options(/MP)
148+
add_compile_options(/GR) # See policy CMP0117: Enable RTTI on MSVC
141149
endif()
142150
endif()
143151

src/cmake/Helpers.cmake

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,27 @@ function(alicevision_add_library library_name)
4040
endif()
4141

4242
elseif (BUILD_SHARED_LIBS)
43-
cuda_add_library(${library_name} SHARED ${LIBRARY_SOURCES} OPTIONS --compiler-options "-fPIC")
43+
if(MSVC)
44+
if(CMAKE_BUILD_TYPE MATCHES "Debug")
45+
set(CUDA_LIB_OPTIONS --compiler-options "/MDd")
46+
else()
47+
set(CUDA_LIB_OPTIONS --compiler-options "/MD")
48+
endif()
49+
else()
50+
set(CUDA_LIB_OPTIONS --compiler-options "-fPIC")
51+
endif()
52+
cuda_add_library(${library_name} SHARED ${LIBRARY_SOURCES} OPTIONS ${CUDA_LIB_OPTIONS})
4453
else()
45-
cuda_add_library(${library_name} ${LIBRARY_SOURCES})
54+
if(MSVC)
55+
if(CMAKE_BUILD_TYPE MATCHES "Debug")
56+
set(CUDA_LIB_OPTIONS --compiler-options "/MTd")
57+
else()
58+
set(CUDA_LIB_OPTIONS --compiler-options "/MT")
59+
endif()
60+
else()
61+
set(CUDA_LIB_OPTIONS --compiler-options "-fPIC")
62+
endif()
63+
cuda_add_library(${library_name} ${LIBRARY_SOURCES} OPTIONS ${CUDA_LIB_OPTIONS})
4664
endif()
4765

4866
if (ALICEVISION_REMOVE_ABSOLUTE)

src/cmake/MakeBundle.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.14)
1+
cmake_minimum_required(VERSION 3.25)
22
# Perform bundle fixup on all executables of an install directory
33
# and generates a standalone bundle with all required runtime dependencies.
44
#

src/dependencies/MeshSDFilter/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.25)
22

33
project(SDFilter)
44

src/dependencies/vectorGraphics/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.25)
22

33
add_executable(main_svgSample main.cpp)
44

src/software/utils/aliceVisionAs3rdParty/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.5)
1+
cmake_minimum_required(VERSION 3.25)
22

33
project(AliceVisionAs3rdParty)
44

0 commit comments

Comments
 (0)