summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2014-07-13 01:36:36 +1000
committerErik de Castro Lopo <erikd@mega-nerd.com>2014-07-13 01:55:13 +1000
commit9ee3216fb1ffc282b7b41de620ebd7c1f1f02d3f (patch)
tree61a6415a195ba59c27d2525d8b5d79f82fcbe91f
parent0775675d17819f68531cab17ddb5c1b5f1f5c105 (diff)
CMake : Split functions out into a separate file.
-rw-r--r--CMake/functions.cmake47
-rw-r--r--CMake/libsndfile.cmake82
-rw-r--r--CMakeLists.txt38
3 files changed, 96 insertions, 71 deletions
diff --git a/CMake/functions.cmake b/CMake/functions.cmake
new file mode 100644
index 0000000..b4cdd20
--- /dev/null
+++ b/CMake/functions.cmake
@@ -0,0 +1,47 @@
+include (CheckIncludeFile)
+include (CheckTypeSize)
+include (TestBigEndian)
+
+function (mn_try_compile_c_result C_FILE RESULT_NAME RESULT_PASS RESULT_FAIL)
+ try_compile (COMPILE_RESULT
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/CMake/compiler_is_gcc.c
+ # OUTPUT_VARIABLE LOG2
+ )
+
+ if (${COMPILE_RESULT})
+ set (${RESULT_NAME} ${RESULT_PASS} PARENT_SCOPE)
+ else (${COMPILE_RESULT})
+ set (${RESULT_NAME} ${RESULT_FAIL} PARENT_SCOPE)
+ endif (${COMPILE_RESULT})
+
+ endfunction ()
+
+function (mn_check_include_file HEADER_NAME RESULT_NAME)
+ check_include_file (${HEADER_NAME} HEADER_${RESULT_NAME})
+
+ if (HEADER_${RESULT_NAME})
+ set (${RESULT_NAME} 1 PARENT_SCOPE)
+ else (HEADER_${RESULT_NAME})
+ set (${RESULT_NAME} 0 PARENT_SCOPE)
+ endif (HEADER_${RESULT_NAME})
+
+ set (HEADER_${RESULT_NAME}) # Clear the variable.
+ endfunction ()
+
+function (mn_check_type_size TYPE_NAME RESULT_SIZE)
+ string (REPLACE "*" "_P" TMP1 ${TYPE_NAME})
+ string (REPLACE " " "_" TMP2 ${TMP1})
+
+ check_type_size (${TYPE_NAME} SIZE_${TMP2})
+
+ if (SIZE_${TYPE_NAME})
+ set (${RESULT_SIZE} ${SIZE_${TYPE_NAME}} PARENT_SCOPE)
+ else (SIZE_${TYPE_NAME})
+ set (${RESULT_SIZE} 0 PARENT_SCOPE)
+ endif (SIZE_${TYPE_NAME})
+
+ set (TMP1)
+ set (TMP2)
+ set (SIZE_${TMP2})
+ endfunction ()
diff --git a/CMake/libsndfile.cmake b/CMake/libsndfile.cmake
index 09dd9d9..5aa30a6 100644
--- a/CMake/libsndfile.cmake
+++ b/CMake/libsndfile.cmake
@@ -1,37 +1,53 @@
-include (CheckTypeSize)
-include (TestBigEndian)
-
-function (try_compile_c_result C_FILE RESULT_NAME RESULT_PASS RESULT_FAIL)
- try_compile (COMPILE_RESULT
- ${CMAKE_BINARY_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/CMake/compiler_is_gcc.c
- # OUTPUT_VARIABLE LOG2
- )
-
- if (${COMPILE_RESULT})
- set (${RESULT_NAME} ${RESULT_PASS} PARENT_SCOPE)
- else (${VARNAME})
- set (${RESULT_NAME} ${RESULT_FAIL} PARENT_SCOPE)
- endif (${COMPILE_RESULT})
-
- endfunction ()
-
-check_type_size (double SIZEOF_DOUBLE)
-check_type_size (float SIZEOF_FLOAT)
-check_type_size (int SIZEOF_INT)
-check_type_size (int64_t SIZEOF_INT64_T)
-check_type_size (loff_t SIZEOF_LOFF_T)
-check_type_size (long SIZEOF_LONG)
-check_type_size (long\ long SIZEOF_LONG_LONG)
-check_type_size (offt64_t SIZEOF_OFF64_T)
-check_type_size (off_t SIZEOF_OFF_T)
-check_type_size (short SIZEOF_SHORT)
-check_type_size (size_t SIZEOF_SIZE_T)
-check_type_size (ssize_t SIZEOF_SSIZE_T)
-check_type_size (void* SIZEOF_VOIDP)
-check_type_size (wchar_t SIZEOF_WCHAR_T)
+include (CMake/functions.cmake)
+
+
+mn_check_include_file (alsa/asoundlib.h HAVE_ALSA_ASOUNDLIB_H)
+mn_check_include_file (byteswap.h HAVE_BYTESWAP_H)
+mn_check_include_file (dlfcn.h HAVE_DLFCN_H)
+mn_check_include_file (endian.h HAVE_ENDIAN_H)
+mn_check_include_file (inttypes.h HAVE_INTTYPES_H)
+mn_check_include_file (locale.h HAVE_LOCALE_H)
+mn_check_include_file (memory.h HAVE_MEMORY_H)
+mn_check_include_file (sndio.h HAVE_SNDIO_H)
+mn_check_include_file (stdint.h HAVE_STDINT_H)
+mn_check_include_file (stdlib.h HAVE_STDLIB_H)
+mn_check_include_file (string.h HAVE_STRING_H)
+mn_check_include_file (strings.h HAVE_STRINGS_H)
+mn_check_include_file (sys/stat.h HAVE_SYS_STAT_H)
+mn_check_include_file (sys/time.h HAVE_SYS_TIME_H)
+mn_check_include_file (sys/types.h HAVE_SYS_TYPES_H)
+mn_check_include_file (sys/wait.h HAVE_SYS_WAIT_H)
+mn_check_include_file (unistd.h HAVE_UNISTD_H)
+
+
+mn_check_type_size (double SIZEOF_DOUBLE)
+mn_check_type_size (float SIZEOF_FLOAT)
+mn_check_type_size (int SIZEOF_INT)
+mn_check_type_size (int64_t SIZEOF_INT64_T)
+mn_check_type_size (loff_t SIZEOF_LOFF_T)
+mn_check_type_size (long SIZEOF_LONG)
+mn_check_type_size (long\ long SIZEOF_LONG_LONG)
+mn_check_type_size (offt64_t SIZEOF_OFF64_T)
+mn_check_type_size (off_t SIZEOF_OFF_T)
+mn_check_type_size (short SIZEOF_SHORT)
+mn_check_type_size (size_t SIZEOF_SIZE_T)
+mn_check_type_size (ssize_t SIZEOF_SSIZE_T)
+mn_check_type_size (void* SIZEOF_VOIDP)
+mn_check_type_size (xxwchar_t SIZEOF_WCHAR_T)
set (SIZEOF_SF_COUNT_T ${SIZEOF_INT64_T})
+set (TYPEOF_SF_COUNT_T int64_t)
+
+mn_try_compile_c_result (CMake/compiler_is_gcc.c COMPILER_IS_GCC 1 0)
-try_compile_c_result (CMake/compiler_is_gcc.c COMPILER_IS_GCC 1 0)
+TEST_BIG_ENDIAN (BIGENDIAN)
+if (${BIGENDIAN})
+ set (WORDS_BIGENDIAN 1)
+ set (CPU_IS_BIG_ENDIAN 1)
+ set (CPU_IS_LITTLE_ENDIAN 0)
+else (${BIGENDIAN})
+ set (WORDS_BIGENDIAN 0)
+ set (CPU_IS_LITTLE_ENDIAN 1)
+ set (CPU_IS_BIG_ENDIAN 0)
+ endif (${BIGENDIAN})
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a82b67a..6909193 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,39 +24,12 @@ else (MSVC)
set (USE_WINDOWS_API 0)
set (COMPILER_IS_GCC ${COMPILER_IS_GCC})
- set (SIZEOF_DOUBLE ${SIZEOF_DOUBLE})
- set (SIZEOF_FLOAT ${SIZEOF_FLOAT})
- set (SIZEOF_INT ${SIZEOF_INT})
- set (SIZEOF_INT64_T ${SIZEOF_INT64_T})
- set (SIZEOF_LOFF_T ${SIZEOF_LOFF_T})
- set (SIZEOF_LONG ${SIZEOF_LONG})
- set (SIZEOF_LONG_LONG ${SIZEOF_LONG_LONG})
- set (SIZEOF_OFF64_T ${SIZEOF_OFF64_T})
- set (SIZEOF_OFF_T ${SIZEOF_OFF_T})
- set (SIZEOF_SF_COUNT_T ${SIZEOF_INT64_T})
- set (SIZEOF_SHORT ${SIZEOF_SHORT})
- set (SIZEOF_SIZE_T ${SIZEOF_SIZE_T})
- set (SIZEOF_SSIZE_T ${SIZEOF_SSIZE_T})
- set (SIZEOF_VOIDP ${SIZEOF_VOIDP})
- set (SIZEOF_WCHAR_T ${SIZEOF_WCHAR_T})
-
-
-
- set (HAVE_BYTESWAP_H 1)
- set (HAVE_INTTYPES_H 1)
- set (HAVE_STDINT_H 1)
-
- set (HAVE_UNISTD_H 1)
set (HAVE_EXTERNAL_LIBS 0)
set (CPU_CLIPS_NEGATIVE 0)
set (CPU_CLIPS_POSITIVE 0)
set (HAVE_GETTIMEOFDAY 1)
- set (HAVE_SYS_TIME_H 1)
set (_POSIX_SOURCE 1)
- set (SIZEOF_SF_COUNT_T ${SIZEOF_INT64_T})
- set (TYPEOF_SF_COUNT_T int64_t)
-
set (SF_COUNT_MAX 0x7fffffffffffffffll)
set (ENABLE_EXPERIMENTAL_CODE 0)
set (HAVE_DECL_S_IRGRP 1)
@@ -65,17 +38,6 @@ else (MSVC)
set (OSX_DARWIN_VERSION 0)
endif (MSVC)
-TEST_BIG_ENDIAN (BIGENDIAN)
-if (${BIGENDIAN})
- set (WORDS_BIGENDIAN 1)
- set (CPU_IS_BIG_ENDIAN 1)
- set (CPU_IS_LITTLE_ENDIAN 0)
-else (${BIGENDIAN})
- set (WORDS_BIGENDIAN 0)
- set (CPU_IS_LITTLE_ENDIAN 1)
- set (CPU_IS_BIG_ENDIAN 0)
-endif (${BIGENDIAN})
-
#-------------------------------------------------------------------------------
# Project definitions follow.