summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Asteborg <maastebo@microsoft.com>2019-04-11 09:50:14 -0700
committerJean-Marc Valin <jmvalin@jmvalin.ca>2019-04-11 23:07:34 -0400
commit1f92613e7d01958d2ec1b0072c27c6f2c118fc01 (patch)
tree275fb827d60549974265bd4eb27f99a6a0da34ac
parent268780fbf07e95e31b3d443004b5c3a997f9cad3 (diff)
downloadopus-1f92613e7d01958d2ec1b0072c27c6f2c118fc01.tar.gz
CMake changes
If CMAKE_BUILD_TYPE is empty and CFlags are set then only use CFlags. If None are set then use CMAKE_BUILD_TYPE by Release by default. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
-rw-r--r--CMakeLists.txt2
-rw-r--r--opus_buildtype.cmake33
2 files changed, 20 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e3115546..17ee3fc2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,5 @@
cmake_minimum_required(VERSION 3.1)
-include(opus_buildtype.cmake)
include(opus_functions.cmake)
get_library_version(OPUS_LIBRARY_VERSION OPUS_LIBRARY_VERSION_MAJOR)
@@ -17,6 +16,7 @@ string(REGEX
message(STATUS "Opus project version: ${PROJECT_VERSION}")
project(Opus LANGUAGES C VERSION ${PROJECT_VERSION})
+include(opus_buildtype.cmake)
option(OPUS_STACK_PROTECTOR "Use stack protection" ON)
option(OPUS_USE_ALLOCA "Use alloca for stack arrays (on non-C99 compilers)" OFF)
diff --git a/opus_buildtype.cmake b/opus_buildtype.cmake
index 6797f50b..aaee9eff 100644
--- a/opus_buildtype.cmake
+++ b/opus_buildtype.cmake
@@ -1,18 +1,23 @@
# Set a default build type if none was specified
-set(default_build_type "Release")
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
- message(
- STATUS
- "Setting build type to '${default_build_type}' as none was specified.")
- set(CMAKE_BUILD_TYPE "${default_build_type}"
- CACHE STRING "Choose the type of build."
- FORCE)
- # Set the possible values of build type for cmake-gui
- set_property(CACHE CMAKE_BUILD_TYPE
- PROPERTY STRINGS
- "Debug"
- "Release"
- "MinSizeRel"
- "RelWithDebInfo")
+ if(CMAKE_C_FLAGS)
+ message(STATUS "CMAKE_C_FLAGS: " ${CMAKE_C_FLAGS})
+ else()
+ set(default_build_type "Release")
+ message(
+ STATUS
+ "Setting build type to '${default_build_type}' as none was specified and no CFLAGS was exported."
+ )
+ set(CMAKE_BUILD_TYPE "${default_build_type}"
+ CACHE STRING "Choose the type of build."
+ FORCE)
+ # Set the possible values of build type for cmake-gui
+ set_property(CACHE CMAKE_BUILD_TYPE
+ PROPERTY STRINGS
+ "Debug"
+ "Release"
+ "MinSizeRel"
+ "RelWithDebInfo")
+ endif()
endif()