Several corrections to the CMake project files (thanks, Ozkan!).
Fixes Bugzilla #2732.
--- a/CMakeLists.txt Fri Mar 20 12:23:53 2015 -0400
+++ b/CMakeLists.txt Fri Mar 20 21:57:15 2015 -0400
@@ -596,7 +596,7 @@
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 @@
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)
--- a/cmake/sdlchecks.cmake Fri Mar 20 12:23:53 2015 -0400
+++ b/cmake/sdlchecks.cmake Fri Mar 20 21:57:15 2015 -0400
@@ -725,7 +725,7 @@
endif()
endmacro()
-# Rquires:
+# Requires:
# - nada
# Optional:
# - THREADS opt
@@ -776,13 +776,17 @@
# 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 @@
#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