Skip to content

Commit b5063df

Browse files
authored
Use mv_project_defaults() for setting CMake defaults (#241)
* Use mv project defaults * Simplify unity build setup * Prefer target based properties * Set cache variable instead of normal variable for CMake option
1 parent 68dd38a commit b5063df

2 files changed

Lines changed: 6 additions & 14 deletions

File tree

CMakeLists.txt

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,15 @@ PROJECT(${PROJECT}
1515
# -----------------------------------------------------------------------------
1616
# CMake Options
1717
# -----------------------------------------------------------------------------
18-
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
1918
set(CMAKE_INCLUDE_CURRENT_DIR ON)
20-
set(CMAKE_AUTORCC ON)
21-
set(CMAKE_AUTOMOC ON)
22-
23-
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
24-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DWIN32 /EHsc /W3 /MP /permissive- /Zc:__cplusplus")
25-
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
26-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MD")
27-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
28-
endif()
2919

3020
# -----------------------------------------------------------------------------
3121
# Dependencies
3222
# -----------------------------------------------------------------------------
3323
find_package(Qt6 COMPONENTS Widgets WebEngineWidgets OpenGL OpenGLWidgets REQUIRED)
3424

3525
find_package(ManiVault COMPONENTS Core PointData ClusterData ColorData ImageData CONFIG QUIET)
26+
mv_project_defaults()
3627

3728
# -----------------------------------------------------------------------------
3829
# Source files
@@ -116,9 +107,10 @@ target_include_directories(${PROJECT} PRIVATE "${ManiVault_INCLUDE_DIR}")
116107
# -----------------------------------------------------------------------------
117108
target_compile_features(${PROJECT} PRIVATE cxx_std_20)
118109

119-
if(MV_UNITY_BUILD)
120-
set_target_properties(${PROJECT} PROPERTIES UNITY_BUILD ON)
121-
endif()
110+
set_target_properties(${PROJECT} PROPERTIES
111+
AUTOMOC ON
112+
UNITY_BUILD ${MV_UNITY_BUILD}
113+
)
122114

123115
# -----------------------------------------------------------------------------
124116
# Target library linking

conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ def generate(self):
105105
tc.variables["ManiVault_DIR"] = manivault_dir
106106

107107
# Set some build options
108-
tc.variables["MV_UNITY_BUILD"] = "ON"
108+
tc.cache_variables["MV_UNITY_BUILD"] = True
109109

110110
tc.generate()
111111

0 commit comments

Comments
 (0)