diff options
author | Wolfgang Schupp <w.schupp@a1.net> | 2016-11-23 18:54:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-23 18:54:32 +0100 |
commit | 0b9821c71fbe6a67cd4e8a0c4c1d54ccff73f442 (patch) | |
tree | 1ebb3ab51ae7566d090d0e0589fcc5d03ac65492 | |
parent | aee2e0d6c07496a29d05812f331ebfa90c491e29 (diff) | |
parent | dbb610a183d102c1e11a57ee4799c2ae6f5065e5 (diff) |
Merge pull request #10973 from wsnipex/cmake_fixes
Cmake fixes
-rw-r--r-- | project/cmake/CMakeLists.txt | 2 | ||||
-rw-r--r-- | project/cmake/modules/FindPython.cmake | 51 | ||||
-rw-r--r-- | project/cmake/scripts/linux/Macros.cmake | 3 | ||||
-rw-r--r-- | tools/depends/Makefile.include.in | 1 | ||||
-rw-r--r-- | tools/depends/configure.ac | 1 | ||||
-rw-r--r-- | tools/depends/target/cmakebuildsys/Makefile | 9 |
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 |