Adjust CMake modules for better Android support
This commit is contained in:
parent
5c9a834236
commit
3a65e3ecdd
|
@ -40,7 +40,12 @@ if(NOT BUILTIN_TRANSLATIONS)
|
|||
endif()
|
||||
|
||||
# add target for building the application
|
||||
add_executable(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} ${GUI_TYPE} ${ALL_FILES})
|
||||
if (NOT ANDROID)
|
||||
add_executable(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} ${GUI_TYPE} ${ALL_FILES})
|
||||
else()
|
||||
# create a library which can be loaded from the Java-side
|
||||
add_library(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX} SHARED ${GUI_TYPE} ${ALL_FILES})
|
||||
endif()
|
||||
target_link_libraries(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
|
||||
PUBLIC ${ACTUAL_ADDITIONAL_LINK_FLAGS} "${PUBLIC_LIBRARIES}"
|
||||
PRIVATE "${PRIVATE_LIBRARIES}"
|
||||
|
@ -77,6 +82,16 @@ if(NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
|||
BUNDLE DESTINATION "${BUNDLE_INSTALL_DESTINATION}"
|
||||
COMPONENT binary
|
||||
)
|
||||
elseif(ANDROID)
|
||||
install(
|
||||
TARGETS ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
|
||||
RUNTIME DESTINATION bin
|
||||
COMPONENT binary
|
||||
LIBRARY DESTINATION lib${SELECTED_LIB_SUFFIX}
|
||||
COMPONENT binary
|
||||
ARCHIVE DESTINATION lib${SELECTED_LIB_SUFFIX}
|
||||
COMPONENT binary
|
||||
)
|
||||
else()
|
||||
install(TARGETS ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
|
||||
RUNTIME DESTINATION bin
|
||||
|
|
|
@ -90,9 +90,7 @@ if(HAS_PARENT)
|
|||
set(${META_PROJECT_VARNAME_UPPER}_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE)
|
||||
set(${META_PROJECT_VARNAME_UPPER}_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}" PARENT_SCOPE)
|
||||
set(${META_PROJECT_NAME}_DIR "${CMAKE_CURRENT_BINARY_DIR}" PARENT_SCOPE)
|
||||
if(CMAKE_FIND_ROOT_PATH AND MINGW)
|
||||
set(RUNTIME_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}" ${RUNTIME_LIBRARY_PATH} PARENT_SCOPE)
|
||||
endif()
|
||||
set(RUNTIME_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}" ${RUNTIME_LIBRARY_PATH} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
# determine version
|
||||
|
@ -257,6 +255,8 @@ if(EXISTS "${CLANG_FORMAT_RULES}")
|
|||
COMMAND "${CMAKE_COMMAND}" -E create_symlink "${CLANG_FORMAT_RULES}" "${CMAKE_CURRENT_SOURCE_DIR}/.clang-format"
|
||||
COMMENT "Linking coding style from ${CLANG_FORMAT_RULES}"
|
||||
)
|
||||
else()
|
||||
message(WARNING "Format rules for clang-format not found.")
|
||||
endif()
|
||||
|
||||
# add target for tidying with clang-format
|
||||
|
@ -428,4 +428,16 @@ if(NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# determine library directory suffix
|
||||
# note: Applications might be built as libraries under some platforms (eg. Android). Hence this is part of BasicConfig and not LibraryConfig.
|
||||
set(LIB_SUFFIX "" CACHE STRING "specifies the general suffix for the library directory")
|
||||
set(SELECTED_LIB_SUFFIX "${LIB_SUFFIX}")
|
||||
set(LIB_SUFFIX_32 "" CACHE STRING "specifies the suffix for the library directory to be used when building 32-bit library")
|
||||
set(LIB_SUFFIX_64 "" CACHE STRING "specifies the suffix for the library directory to be used when building 64-bit library")
|
||||
if(LIB_SUFFIX_64 AND CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||
set(SELECTED_LIB_SUFFIX "${LIB_SUFFIX_64}")
|
||||
elseif(LIB_SUFFIX_32 AND CMAKE_SIZEOF_VOID_P MATCHES "4")
|
||||
set(SELECTED_LIB_SUFFIX "${LIB_SUFFIX_32}")
|
||||
endif()
|
||||
|
||||
set(BASIC_PROJECT_CONFIG_DONE YES)
|
||||
|
|
|
@ -19,17 +19,6 @@ endif()
|
|||
include(CMakePackageConfigHelpers)
|
||||
include(TemplateFinder)
|
||||
|
||||
# determine library directory suffix
|
||||
set(LIB_SUFFIX "" CACHE STRING "specifies the general suffix for the library directory")
|
||||
set(SELECTED_LIB_SUFFIX "${LIB_SUFFIX}")
|
||||
set(LIB_SUFFIX_32 "" CACHE STRING "specifies the suffix for the library directory to be used when building 32-bit library")
|
||||
set(LIB_SUFFIX_64 "" CACHE STRING "specifies the suffix for the library directory to be used when building 64-bit library")
|
||||
if(LIB_SUFFIX_64 AND CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||
set(SELECTED_LIB_SUFFIX "${LIB_SUFFIX_64}")
|
||||
elseif(LIB_SUFFIX_32 AND CMAKE_SIZEOF_VOID_P MATCHES "4")
|
||||
set(SELECTED_LIB_SUFFIX "${LIB_SUFFIX_32}")
|
||||
endif()
|
||||
|
||||
# set install destination for the CMake modules, config files and header files
|
||||
set(HEADER_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
|
||||
set(BIN_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
|
|
Loading…
Reference in New Issue