1- cmake_minimum_required (VERSION 3.17 )
1+ cmake_minimum_required (VERSION 3.22 )
22
33option (MV_UNITY_BUILD "Combine target source files into batches for faster compilation" OFF )
44
@@ -16,17 +16,17 @@ set(CMAKE_AUTOMOC ON)
1616
1717if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
1818 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /MP /permissive- /Zc:__cplusplus" )
19- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT" )
2019 set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd" )
21- set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD" )
20+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD" )
21+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD" )
2222endif ()
2323
2424# -----------------------------------------------------------------------------
2525# Dependencies
2626# -----------------------------------------------------------------------------
2727find_package (Qt6 COMPONENTS Widgets WebEngineWidgets OpenGL OpenGLWidgets REQUIRED )
2828
29- find_package (ManiVault COMPONENTS Core PointData ClusterData CONFIG )
29+ find_package (ManiVault COMPONENTS Core PointData ClusterData CONFIG QUIET )
3030
3131find_package (OpenMP )
3232
@@ -150,7 +150,7 @@ target_include_directories(${PROJECT_NAME} PRIVATE "${ManiVault_INCLUDE_DIR}")
150150# Target properties
151151# -----------------------------------------------------------------------------
152152# Request C++17
153- target_compile_features (${PROJECT_NAME} PRIVATE cxx_std_17 )
153+ target_compile_features (${PROJECT_NAME} PRIVATE cxx_std_20 )
154154
155155# Enable unity build
156156if (MV_UNITY_BUILD)
@@ -191,16 +191,13 @@ add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
191191 --prefix ${ManiVault_INSTALL_DIR} /$<CONFIGURATION>
192192)
193193
194- set_target_properties (${PROJECT_NAME}
195- PROPERTIES
196- FOLDER ViewPlugins
197- )
194+ mv_handle_plugin_config (${PROJECT_NAME} )
198195
199196# -----------------------------------------------------------------------------
200197# Miscellaneous
201198# -----------------------------------------------------------------------------
202199# Automatically set the debug environment (command + working directory) for MSVC
203200if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
204- set_property (TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF :$<CONFIG :DEBUG >,${ManiVault_INSTALL_DIR} /debug , $ {ManiVault_INSTALL_DIR} /release >)
205- set_property (TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF :$<CONFIG :DEBUG >,${ManiVault_INSTALL_DIR} /debug /ManiVault \ Studio .exe , $ {ManiVault_INSTALL_DIR} /release /ManiVault \ Studio .exe >)
201+ set_property (TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<IF :$<CONFIG :DEBUG >,${ManiVault_INSTALL_DIR} /Debug ,$< IF :$< CONFIG : RELWITHDEBINFO >, $ {ManiVault_INSTALL_DIR} /RelWithDebInfo , ${ManiVault_INSTALL_DIR} / Release > >)
202+ set_property (TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_COMMAND $<IF :$<CONFIG :DEBUG >," ${ManiVault_INSTALL_DIR} /Debug /ManiVault Studio .exe ",$< IF :$< CONFIG : RELWITHDEBINFO >," $ {ManiVault_INSTALL_DIR} /RelWithDebInfo /ManiVault Studio .exe "," ${ManiVault_INSTALL_DIR} / Release / ManiVault Studio . exe "> >)
206203endif ()
0 commit comments