aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Schupp <w.schupp@a1.net>2016-11-23 18:54:32 +0100
committerGitHub <noreply@github.com>2016-11-23 18:54:32 +0100
commit0b9821c71fbe6a67cd4e8a0c4c1d54ccff73f442 (patch)
tree1ebb3ab51ae7566d090d0e0589fcc5d03ac65492
parentaee2e0d6c07496a29d05812f331ebfa90c491e29 (diff)
parentdbb610a183d102c1e11a57ee4799c2ae6f5065e5 (diff)
Merge pull request #10973 from wsnipex/cmake_fixes
Cmake fixes
-rw-r--r--project/cmake/CMakeLists.txt2
-rw-r--r--project/cmake/modules/FindPython.cmake51
-rw-r--r--project/cmake/scripts/linux/Macros.cmake3
-rw-r--r--tools/depends/Makefile.include.in1
-rw-r--r--tools/depends/configure.ac1
-rw-r--r--tools/depends/target/cmakebuildsys/Makefile9
6 files changed, 36 insertions, 31 deletions
diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt
index c2fb8e18d5..fa1156da4a 100644
--- a/project/cmake/CMakeLists.txt
+++ b/project/cmake/CMakeLists.txt
@@ -331,7 +331,7 @@ else()
endif()
add_dependencies(${APP_NAME_LC} ${APP_NAME_LC}-libraries export-files pack-skins)
whole_archive(_MAIN_LIBRARIES ${core_DEPENDS})
-target_link_libraries(${APP_NAME_LC} ${_MAIN_LIBRARIES} lib${APP_NAME_LC})
+target_link_libraries(${APP_NAME_LC} ${_MAIN_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS})
unset(_MAIN_LIBRARIES)
if(WIN32)
diff --git a/project/cmake/modules/FindPython.cmake b/project/cmake/modules/FindPython.cmake
index fbc3a6453f..68b7359417 100644
--- a/project/cmake/modules/FindPython.cmake
+++ b/project/cmake/modules/FindPython.cmake
@@ -5,39 +5,34 @@
# PYTHON_INCLUDE_DIRS - the python include directory
# PYTHON_LIBRARIES - The python libraries
-if(PKG_CONFIG_FOUND AND (NOT CMAKE_CROSSCOMPILING OR APPLE))
- pkg_check_modules(PYTHON python QUIET)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_PYTHON python >= 2.7 QUIET)
endif()
-if(NOT PYTHON_FOUND)
- if(CMAKE_CROSSCOMPILING)
- find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH)
- find_library(PYTHON_LIBRARY NAMES python2.6 python2.7)
- find_path(PYTHON_INCLUDE_DIRS NAMES Python.h PATHS ${DEPENDS_PATH}/include/python2.6 ${DEPENDS_PATH}/include/python2.7)
- set(PYTHON_INCLUDE_DIR ${PYTHON_INCLUDE_DIRS} CACHE PATH "python include dir" FORCE)
-
- find_library(FFI_LIBRARY ffi)
- find_library(EXPAT_LIBRARY expat)
- find_library(INTL_LIBRARY intl)
-
- if(NOT CORE_SYSTEM_NAME STREQUAL android)
- set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil)
- endif()
-
- set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${PYTHON_DEP_LIBRARIES}
- CACHE INTERNAL "python libraries" FORCE)
- else()
- find_package(PythonLibs 2.7 REQUIRED)
+find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH)
+find_library(PYTHON_LIBRARY NAMES python2.7 PATHS ${PC_PYTHON_LIBDIR})
+find_path(PYTHON_INCLUDE_DIR NAMES Python.h PATHS ${PC_PYTHON_INCLUDE_DIRS} ${DEPENDS_PATH}/include/python2.7)
+
+if(CMAKE_CROSSCOMPILING)
+ find_library(FFI_LIBRARY ffi REQUIRED)
+ find_library(EXPAT_LIBRARY expat REQUIRED)
+ find_library(INTL_LIBRARY intl REQUIRED)
+ find_library(GMP_LIBRARY gmp REQUIRED)
+
+ if(NOT CORE_SYSTEM_NAME STREQUAL android)
+ set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil)
endif()
+
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES})
+else()
+ find_package(PythonLibs 2.7 REQUIRED)
endif()
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Python DEFAULT_MSG PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES)
-if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
- find_library(FFI_LIBRARY ffi REQUIRED)
- find_library(INTL_LIBRARY intl)
- list(APPEND PYTHON_LIBRARIES ${FFI_LIBRARY} ${INTL_LIBRARY})
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PYTHON REQUIRED_VARS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES)
+if(PYTHON_FOUND)
+ set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
endif()
-mark_as_advanced(PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES PYTHON_LDFLAGS)
+mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY)
diff --git a/project/cmake/scripts/linux/Macros.cmake b/project/cmake/scripts/linux/Macros.cmake
index dd59b536a5..72e9d5c7d6 100644
--- a/project/cmake/scripts/linux/Macros.cmake
+++ b/project/cmake/scripts/linux/Macros.cmake
@@ -31,11 +31,12 @@ function(core_link_library lib wraplib)
set(extra_libs ${data_arg})
endif()
+ string(REGEX REPLACE "[ ]+" ";" _flags ${CMAKE_SHARED_LINKER_FLAGS})
get_filename_component(dir ${wraplib} DIRECTORY)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX}
COMMAND ${CMAKE_COMMAND} -E make_directory ${dir}
COMMAND ${CMAKE_C_COMPILER}
- ARGS -Wl,--whole-archive
+ ARGS ${_flags} -Wl,--whole-archive
"${link_lib}" ${extra_libs}
-Wl,--no-whole-archive -lm
-Wl,-soname,${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX}
diff --git a/tools/depends/Makefile.include.in b/tools/depends/Makefile.include.in
index a6e419fe8a..a714daec11 100644
--- a/tools/depends/Makefile.include.in
+++ b/tools/depends/Makefile.include.in
@@ -1,5 +1,6 @@
abs_top_srcdir=@abs_top_srcdir@
+DEBUG_BUILD=@use_debug@
TOOLCHAIN=@use_toolchain@
NDKROOT=@use_ndk@
SDKROOT=@use_sdk_path@
diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac
index f438e5d830..3626ea5204 100644
--- a/tools/depends/configure.ac
+++ b/tools/depends/configure.ac
@@ -597,6 +597,7 @@ echo -e
AC_SUBST(build_tools_path)
fi
+AC_SUBST(use_debug)
AC_SUBST(use_host)
AC_SUBST(deps_dir)
AC_SUBST(tool_dir)
diff --git a/tools/depends/target/cmakebuildsys/Makefile b/tools/depends/target/cmakebuildsys/Makefile
index 8004712be2..9ceaad63b6 100644
--- a/tools/depends/target/cmakebuildsys/Makefile
+++ b/tools/depends/target/cmakebuildsys/Makefile
@@ -3,9 +3,16 @@
VERSION.TXT := $(CORE_SOURCE_DIR)/version.txt
APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT))
+ifeq ($(Configuration),)
+ Configuration = Release
+ ifeq ($(DEBUG_BUILD),yes)
+ Configuration = Debug
+ endif
+endif
+
all:
mkdir -p $(CORE_SOURCE_DIR)/build
- cd $(CORE_SOURCE_DIR)/build; $(CMAKE) -DCMAKE_BUILD_TYPE=$(Configuration) $(CORE_SOURCE_DIR)/project/cmake
+ cd $(CORE_SOURCE_DIR)/build; $(CMAKE) -DCMAKE_BUILD_TYPE=$(Configuration) -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG=OFF $(CORE_SOURCE_DIR)/project/cmake
clean:
cd $(CORE_SOURCE_DIR)/build; $(MAKE) clean