aboutsummaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2023-10-24 23:54:18 +0200
committerDaniil Cherednik <dan.cherednik@gmail.com>2023-10-24 23:54:18 +0200
commitd3aacbb8c67fb07ef60308c7e8cdebd9c188ff62 (patch)
tree6e21b9f749adb5d585f18584ff4c01eafe9ffe9c /src/CMakeLists.txt
parentfe85f8d1ad38c19246b048075b307819933260b5 (diff)
downloadatracdenc-d3aacbb8c67fb07ef60308c7e8cdebd9c188ff62.tar.gz
Simplify cmake. Fix warnings.
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt38
1 files changed, 22 insertions, 16 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f8130f4..ea5144b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,26 +1,31 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
-macro(use_11)
- if (CMAKE_VERSION VERSION_LESS "3.1")
- message ("cmake version: " ${CMAKE_VERSION} " --std arguments will be forced")
-
- set (CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}" CACHE STRING "" FORCE)
- set (CMAKE_C_FLAGS "-std=c11 ${CMAKE_C_FLAGS}" CACHE STRING "" FORCE)
- else ()
- set (CMAKE_CXX_STANDARD 11)
- set (CMAKE_C_STANDARD 11)
- endif ()
-endmacro(use_11)
-
-use_11()
+set (CMAKE_CXX_STANDARD 11)
+set (CMAKE_C_STANDARD 11)
#add_definitions( "-Wall -O2 -g -Rpass-analysis=loop-vectorize" )
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address -fno-omit-frame-pointer")
-if (UNIX)
- add_definitions( "-Wall -O2 -g" )
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose Release or Debug" FORCE)
endif()
+include(CheckCXXCompilerFlag)
+
+function(enable_cxx_compiler_flag_if_supported flag)
+ string(FIND "${CMAKE_CXX_FLAGS}" "${flag}" flag_already_set)
+ if(flag_already_set EQUAL -1)
+ check_cxx_compiler_flag("${flag}" flag_supported)
+ if(flag_supported)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" PARENT_SCOPE)
+ endif()
+ unset(flag_supported CACHE)
+ endif()
+endfunction()
+
+enable_cxx_compiler_flag_if_supported("-Wall")
+enable_cxx_compiler_flag_if_supported("-Wextra")
+
project(atracdenc)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules")
@@ -95,3 +100,4 @@ set(SOURCE_EXE
add_executable(atracdenc ${SOURCE_EXE})
target_link_libraries(atracdenc pcm_io oma atracdenc_impl ${SNDFILE_LIBRARIES})
install(TARGETS atracdenc)
+