Several corrections to the CMake project files (thanks, Ozkan!). Fixes Bugzilla #2732.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 43d1609..1b07a2b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -596,7 +596,7 @@ if(LIBC)
set(CMAKE_REQUIRED_LIBRARIES m)
foreach(_FN
atan atan2 ceil copysign cos cosf fabs floor log pow scalbn sin
- sinf sqrt sqrtf tan tanf)
+ sinf sqrt sqrtf tan tanf acos asin)
string(TOUPPER ${_FN} _UPPER)
set(_HAVEVAR "HAVE_${_UPPER}")
check_function_exists("${_FN}" ${_HAVEVAR})
@@ -608,6 +608,15 @@ if(LIBC)
check_library_exists(iconv iconv_open "" HAVE_LIBICONV)
if(HAVE_LIBICONV)
list(APPEND EXTRA_LIBS iconv)
+ set(HAVE_ICONV 1)
+ endif()
+
+ if(NOT APPLE)
+ check_include_file(alloca.h HAVE_ALLOCA_H)
+ check_function_exists(alloca HAVE_ALLOCA)
+ else()
+ set(HAVE_ALLOCA_H 1)
+ set(HAVE_ALLOCA 1)
endif()
check_struct_has_member("struct sigaction" "sa_sigaction" "signal.h" HAVE_SA_SIGACTION)
diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
index e568dea..fd54ed2 100644
--- a/cmake/sdlchecks.cmake
+++ b/cmake/sdlchecks.cmake
@@ -725,7 +725,7 @@ macro(CheckOpenGLESX11)
endif()
endmacro()
-# Rquires:
+# Requires:
# - nada
# Optional:
# - THREADS opt
@@ -776,13 +776,17 @@ macro(CheckPTHREAD)
# Run some tests
set(CMAKE_REQUIRED_FLAGS "${PTHREAD_CFLAGS} ${PTHREAD_LDFLAGS}")
- check_c_source_runs("
+ if(CMAKE_CROSSCOMPILING)
+ set(HAVE_PTHREADS 1)
+ else()
+ check_c_source_runs("
#include <pthread.h>
int main(int argc, char** argv) {
pthread_attr_t type;
pthread_attr_init(&type);
return 0;
}" HAVE_PTHREADS)
+ endif()
if(HAVE_PTHREADS)
set(SDL_THREAD_PTHREAD 1)
list(APPEND EXTRA_CFLAGS ${PTHREAD_CFLAGS})
@@ -831,9 +835,8 @@ macro(CheckPTHREAD)
#include <pthread.h>
#include <pthread_np.h>
int main(int argc, char** argv) { return 0; }" HAVE_PTHREAD_NP_H)
- check_function_exists(pthread_setname_np HAVE_PTHREAD_setNAME_NP)
- check_function_exists(pthread_set_name_np HAVE_PTHREAD_set_NAME_NP)
- set(CMAKE_REQUIRED_FLAGS)
+ check_function_exists(pthread_setname_np HAVE_PTHREAD_SETNAME_NP)
+ check_function_exists(pthread_set_name_np HAVE_PTHREAD_SET_NAME_NP) set(CMAKE_REQUIRED_FLAGS)
set(SOURCE_FILES ${SOURCE_FILES}
${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systhread.c