@@ -162,24 +162,11 @@ endif()
162
162
#===============================================================================
163
163
# Build type settings
164
164
#===============================================================================
165
- if (NOT CMAKE_BUILD_TYPE )
166
- set (CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: Debug | Release | RelWithDebInfo | MinSizeRel" FORCE)
167
- endif ()
168
- string (TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UPPERCASE)
169
-
170
- set (DART_BUILD_MODE_DEBUG FALSE )
171
- set (DART_BUILD_MODE_RELEASE FALSE )
172
-
173
- if ("${CMAKE_BUILD_TYPE_UPPERCASE} " STREQUAL "DEBUG" )
174
- set (DART_BUILD_MODE_DEBUG TRUE )
175
- elseif ("${CMAKE_BUILD_TYPE_UPPERCASE} " STREQUAL "RELEASE" )
176
- set (DART_BUILD_MODE_RELEASE TRUE )
177
- elseif ("${CMAKE_BUILD_TYPE_UPPERCASE} " STREQUAL "RELWITHDEBINFO" )
178
- set (DART_BUILD_MODE_RELEASE TRUE )
179
- elseif ("${CMAKE_BUILD_TYPE_UPPERCASE} " STREQUAL "MINSIZEREL" )
180
- set (DART_BUILD_MODE_RELEASE TRUE )
181
- else ()
182
- message (WARNING "CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} unknown. Valid options are: Debug | Release | RelWithDebInfo | MinSizeRel" )
165
+ if (NOT CMAKE_CONFIGURATION_TYPES )
166
+ if (NOT CMAKE_BUILD_TYPE )
167
+ set (CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
168
+ set_property (CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" )
169
+ endif ()
183
170
endif ()
184
171
185
172
# Active log level:
@@ -191,14 +178,33 @@ endif()
191
178
# - ERROR: To enable log with DART_ERROR() and below
192
179
# - FATAL: To enable log with DART_FATAL()
193
180
# - OFF: To turn off all the logs
194
- if (DART_BUILD_MODE_DEBUG)
195
- set (DART_ACTIVE_LOG_LEVEL "DEBUG" CACHE STRING "Compile time active log level to enable" )
181
+ if (NOT DART_ACTIVE_LOG_LEVEL)
182
+ if (NOT CMAKE_CONFIGURATION_TYPES AND CMAKE_BUILD_TYPE STREQUAL "Debug" )
183
+ set (DART_ACTIVE_LOG_LEVEL "DEBUG" CACHE STRING "Compile time active log level to enable" )
184
+ else ()
185
+ set (DART_ACTIVE_LOG_LEVEL "INFO" CACHE STRING "Compile time active log level to enable" )
186
+ endif ()
187
+ set_property (CACHE DART_ACTIVE_LOG_LEVEL PROPERTY STRINGS TRACE DEBUG INFO WARN ERROR FATAL OFF )
188
+ endif ()
189
+ if (DART_ACTIVE_LOG_LEVEL STREQUAL "TRACE" )
190
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 0)
191
+ elseif (DART_ACTIVE_LOG_LEVEL STREQUAL "DEBUG" )
192
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 1)
193
+ elseif (DART_ACTIVE_LOG_LEVEL STREQUAL "INFO" )
194
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 2)
195
+ elseif (DART_ACTIVE_LOG_LEVEL STREQUAL "WARN" )
196
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 3)
197
+ elseif (DART_ACTIVE_LOG_LEVEL STREQUAL "ERROR" )
198
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 4)
199
+ elseif (DART_ACTIVE_LOG_LEVEL STREQUAL "FATAL" )
200
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 5)
201
+ elseif (DART_ACTIVE_LOG_LEVEL STREQUAL "OFF" )
202
+ set (DART_ACTIVE_LOG_LEVEL_VALUE 6)
196
203
else ()
197
- set (DART_ACTIVE_LOG_LEVEL "INFO" CACHE STRING "Compile time active log level to enable " )
204
+ message (FATAL_ERROR "Unknown DART_ACTIVE_LOG_LEVEL: ${DART_ACTIVE_LOG_LEVEL} " )
198
205
endif ()
199
- set_property (CACHE DART_ACTIVE_LOG_LEVEL PROPERTY STRINGS TRACE DEBUG INFO WARN ERROR FATAL OFF )
200
206
201
- if (DART_BUILD_MODE_DEBUG )
207
+ if (NOT CMAKE_CONFIGURATION_TYPES AND CMAKE_BUILD_TYPE STREQUAL "Debug" )
202
208
option (DART_TREAT_WARNINGS_AS_ERRORS "Treat warnings as errors" OFF )
203
209
else ()
204
210
option (DART_TREAT_WARNINGS_AS_ERRORS "Treat warnings as errors" ON )
@@ -355,14 +361,12 @@ if(DART_VERBOSE)
355
361
message (STATUS "Build gui::osg : ${DART_BUILD_GUI_OSG} " )
356
362
message (STATUS "Install path : ${CMAKE_INSTALL_PREFIX} " )
357
363
message (STATUS "CXX_FLAGS : ${CMAKE_CXX_FLAGS} " )
358
- if (${CMAKE_BUILD_TYPE_UPPERCASE} STREQUAL "RELEASE" )
359
- message (STATUS "CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE} " )
360
- elseif (${CMAKE_BUILD_TYPE_UPPERCASE} STREQUAL "DEBUG" )
361
- message (STATUS "CXX_FLAGS_DEBUG : ${CMAKE_CXX_FLAGS_DEBUG} " )
362
- elseif (${CMAKE_BUILD_TYPE_UPPERCASE} STREQUAL "RELWITHDEBINFO" )
364
+ if (NOT CMAKE_CONFIGURATION_TYPES )
365
+ message (STATUS "CXX_FLAGS_RELEASE : ${CMAKE_CXX_FLAGS_RELEASE} " )
366
+ message (STATUS "CXX_FLAGS_DEBUG : ${CMAKE_CXX_FLAGS_DEBUG} " )
367
+ message (STATUS "CXX_FLAGS_MINSIZEREL : ${CXX_FLAGS_MINSIZEREL} " )
363
368
message (STATUS "CXX_FLAGS_RELWITHDEBINFO: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} " )
364
- elseif (${CMAKE_BUILD_TYPE_UPPERCASE} STREQUAL "PROFILE" )
365
- message (STATUS "CXX_FLAGS_PROFILE: ${CMAKE_CXX_FLAGS_PROFILE} " )
369
+ message (STATUS "CXX_FLAGS_PROFILE : ${CMAKE_CXX_FLAGS_PROFILE} " )
366
370
endif ()
367
371
message (STATUS "DART_SOURCE_DIR : ${DART_SOURCE_DIR} " )
368
372
message (STATUS "DART_BINARY_DIR : ${DART_BINARY_DIR} " )
0 commit comments