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()
|
endif()
|
||||||
|
|
||||||
# add target for building the application
|
# 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}
|
target_link_libraries(${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
|
||||||
PUBLIC ${ACTUAL_ADDITIONAL_LINK_FLAGS} "${PUBLIC_LIBRARIES}"
|
PUBLIC ${ACTUAL_ADDITIONAL_LINK_FLAGS} "${PUBLIC_LIBRARIES}"
|
||||||
PRIVATE "${PRIVATE_LIBRARIES}"
|
PRIVATE "${PRIVATE_LIBRARIES}"
|
||||||
|
@ -77,6 +82,16 @@ if(NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
||||||
BUNDLE DESTINATION "${BUNDLE_INSTALL_DESTINATION}"
|
BUNDLE DESTINATION "${BUNDLE_INSTALL_DESTINATION}"
|
||||||
COMPONENT binary
|
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()
|
else()
|
||||||
install(TARGETS ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
|
install(TARGETS ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}
|
||||||
RUNTIME DESTINATION bin
|
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}_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" PARENT_SCOPE)
|
||||||
set(${META_PROJECT_VARNAME_UPPER}_BINARY_DIR "${CMAKE_CURRENT_BINARY_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)
|
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)
|
||||||
set(RUNTIME_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}" ${RUNTIME_LIBRARY_PATH} PARENT_SCOPE)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# determine version
|
# 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"
|
COMMAND "${CMAKE_COMMAND}" -E create_symlink "${CLANG_FORMAT_RULES}" "${CMAKE_CURRENT_SOURCE_DIR}/.clang-format"
|
||||||
COMMENT "Linking coding style from ${CLANG_FORMAT_RULES}"
|
COMMENT "Linking coding style from ${CLANG_FORMAT_RULES}"
|
||||||
)
|
)
|
||||||
|
else()
|
||||||
|
message(WARNING "Format rules for clang-format not found.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# add target for tidying with clang-format
|
# add target for tidying with clang-format
|
||||||
|
@ -428,4 +428,16 @@ if(NOT META_NO_INSTALL_TARGETS AND ENABLE_INSTALL_TARGETS)
|
||||||
endif()
|
endif()
|
||||||
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)
|
set(BASIC_PROJECT_CONFIG_DONE YES)
|
||||||
|
|
|
@ -19,17 +19,6 @@ endif()
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
include(TemplateFinder)
|
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 install destination for the CMake modules, config files and header files
|
||||||
set(HEADER_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
|
set(HEADER_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/include")
|
||||||
set(BIN_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
set(BIN_INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
|
||||||
|
|
Loading…
Reference in New Issue