forked from bilke/cmake-modules
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SetDefaultBuildType.cmake
31 lines (28 loc) · 1001 Bytes
/
SetDefaultBuildType.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# - Set a developer-chosen default build type
#
# Requires these CMake modules:
# no additional modules required
#
# Original Author:
# 2010 Ryan Pavlik <[email protected]> <[email protected]>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2010.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
#
if(__set_default_build_type)
return()
endif()
set(__set_default_build_type YES)
function(set_default_build_type _type)
#if(DEFINED CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE)
if(("${CMAKE_GENERATOR}" MATCHES "Makefiles" OR "${CMAKE_GENERATOR}" MATCHES "Ninja") AND NOT CMAKE_BUILD_TYPE)
if(NOT __DEFAULT_BUILD_TYPE_SET)
set(CMAKE_BUILD_TYPE "${_type}" CACHE STRING "" FORCE)
set(__DEFAULT_BUILD_TYPE_SET YES CACHE INTERNAL "")
endif()
endif()
endfunction()