Skip to content
This repository was archived by the owner on Mar 5, 2023. It is now read-only.

Commit 7725ad0

Browse files
authored
cmake: try to fix Android build with targets (#15)
* cmake: fix Android build with targets
1 parent c6f510f commit 7725ad0

File tree

7 files changed

+37
-84
lines changed

7 files changed

+37
-84
lines changed

.github/workflows/github.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ on:
55
branches:
66
- features/*
77
- develop
8+
- master
89
pull_request:
910
repository_dispatch:
1011

.travis.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

project/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
1616
# https://developer.android.com/topic/libraries/support-library/androidx-rn
1717
android.useAndroidX=true
1818
# Automatically convert third-party libraries to use AndroidX
19-
android.enableJetifier=true
19+
android.enableJetifier=true

project/vcmi-app/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ android {
1515

1616
externalNativeBuild {
1717
cmake {
18+
version "3.18+"
1819
arguments "-DANDROID_STL=${VCMI_STL_VERSION}",
1920
"-DANDROID_NATIVE_API_LEVEL=${VCMI_PLATFORM}",
2021
"-DANDROID_TOOLCHAIN=clang",
2122
"-DVCMI_ROOT=${PROJECT_PATH_BASE}"
22-
cppFlags "-std=c++11", "-frtti", "-fexceptions", "-Wno-switch"
23+
cppFlags "-frtti", "-fexceptions", "-Wno-switch"
2324
}
2425
}
2526
ndk {

project/vcmi-app/cmake-scripts/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ set(VCMI_PATH_VCMI ${VCMI_ROOT}/ext/vcmi)
1010
set(VCMI_PATH_EXT_LIBS ${VCMI_ROOT}/ext-output/${ANDROID_ABI})
1111

1212
find_library(syslib_z z)
13+
add_library(ZLIB::ZLIB UNKNOWN IMPORTED)
14+
set_target_properties(ZLIB::ZLIB PROPERTIES IMPORTED_LOCATION ${syslib_z})
1315

1416
include_directories(${BOOST_ROOT})
1517

project/vcmi-app/cmake-scripts/ext-libs.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ function(build_minizip)
3737
set(minizippath ${VCMI_PATH_VCMI}/lib/minizip)
3838
add_library(minizip SHARED ${minizippath}/zip.c ${minizippath}/unzip.c ${minizippath}/ioapi.c)
3939
set_target_properties(minizip PROPERTIES LINKER_LANGUAGE C)
40-
target_link_libraries(minizip ${syslib_z})
40+
target_link_libraries(minizip ZLIB::ZLIB)
4141
endfunction(build_minizip)
4242

4343
function(build_boost)

project/vcmi-app/cmake-scripts/main-app.cmake

Lines changed: 30 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ function(prepend var prefix)
88
set(${var} "${listVar}" PARENT_SCOPE)
99
endfunction(prepend)
1010

11-
macro(import_lib name)
12-
add_library(imp-${name} SHARED IMPORTED)
13-
set_target_properties(imp-${name} PROPERTIES IMPORTED_LOCATION ${VCMI_PATH_EXT_LIBS}/lib${name}.so)
11+
macro(import_lib name alias)
12+
add_library(${alias} SHARED IMPORTED)
13+
set_target_properties(${alias} PROPERTIES IMPORTED_LOCATION ${VCMI_PATH_EXT_LIBS}/lib${name}.so)
1414
endmacro(import_lib)
1515

1616
function(build_vcmi)
@@ -23,39 +23,36 @@ function(build_vcmi)
2323
-DFL_CPP11)
2424
add_definitions(-DBOOST_DISABLE_ASSERTS) # there's a problem in vcmi where mutexes can't be cleaned up correctly on exit (asserting on EBUSY result from pthread_mutex_destroy); I can't really debug it easily so just try to ignore it (we try to quit the app anyway)
2525

26-
import_lib(SDL2)
27-
import_lib(SDL2_image)
28-
import_lib(SDL2_mixer)
29-
import_lib(SDL2_ttf)
30-
import_lib(avcodec)
31-
import_lib(avdevice)
32-
import_lib(avfilter)
33-
import_lib(avformat)
34-
import_lib(avutil)
35-
import_lib(smpeg2)
36-
import_lib(postproc)
37-
import_lib(swresample)
38-
import_lib(swscale)
39-
import_lib(x264)
40-
import_lib(boost-system)
41-
import_lib(boost-filesystem)
42-
import_lib(boost-locale)
43-
import_lib(boost-thread)
44-
import_lib(boost-program-options)
45-
import_lib(boost-datetime)
46-
import_lib(minizip)
47-
import_lib(vcmi-fuzzylite)
26+
import_lib(SDL2 SDL2::SDL2)
27+
import_lib(SDL2_image SDL2::Image)
28+
import_lib(SDL2_mixer SDL2::Mixer)
29+
import_lib(SDL2_ttf SDL2::TTF)
30+
import_lib(avcodec ffmpeg::avcodec)
31+
import_lib(avdevice ffmpeg::avdevice)
32+
import_lib(avfilter ffmpeg::avfilter)
33+
import_lib(avformat ffmpeg::avformat)
34+
import_lib(avutil ffmpeg::avutil)
35+
import_lib(smpeg2 smpeg2::smpeg2)
36+
import_lib(postproc postproc::postproc)
37+
import_lib(swresample ffmpeg::swresample)
38+
import_lib(swscale ffmpeg::swscale)
39+
import_lib(x264 x264::x264)
40+
import_lib(boost-system Boost::system)
41+
import_lib(boost-filesystem Boost::filesystem)
42+
import_lib(boost-locale Boost::locale)
43+
import_lib(boost-thread Boost::thread)
44+
import_lib(boost-program-options Boost::program_options)
45+
import_lib(boost-datetime Boost::date_time)
46+
import_lib(minizip minizip::minizip)
47+
import_lib(vcmi-fuzzylite fuzzylite::fuzzylite)
4848

4949
include(versions)
5050

51-
set(FFMPEG_LIBRARIES imp-avcodec imp-avdevice imp-avfilter imp-avformat imp-avutil imp-postproc imp-smpeg2 imp-swresample imp-swscale imp-x264)
52-
set(SDL_LIBRARY imp-SDL2)
53-
set(SDL_CLIENT_LIBRARIES imp-SDL2 imp-SDL2_image imp-SDL2_mixer imp-SDL2_ttf)
54-
set(MINIZIP_LIBRARIES imp-minizip)
55-
set(ZLIB_LIBRARIES ${syslib_z})
56-
set(FL_LIBRARIES imp-vcmi-fuzzylite)
57-
set(SYSTEM_LIBS ${SYSTEM_LIBS} ${syslib_log} ${syslib_z} ${FL_LIBRARIES})
58-
set(Boost_LIBRARIES imp-boost-system imp-boost-filesystem imp-boost-datetime imp-boost-thread imp-boost-program-options imp-boost-locale)
51+
add_library(Boost::boost INTERFACE IMPORTED)
52+
set(FFMPEG_LIBRARIES ffmpeg::avcodec ffmpeg::avdevice ffmpeg::avfilter ffmpeg::avformat ffmpeg::avutil ffmpeg::swresample ffmpeg::swscale smpeg2::smpeg2 postproc::postproc x264::x264)
53+
set(SDL_CLIENT_LIBRARIES SDL2::SDL2 SDL2::Image SDL2::Mixer SDL2::TTF)
54+
set(SYSTEM_LIBS ${SYSTEM_LIBS} ${syslib_log} ZLIB::ZLIB fuzzylite::fuzzylite)
55+
set(Boost_LIBRARIES Boost::system Boost::filesystem Boost::date_time Boost::thread Boost::program_options Boost::locale)
5956

6057
include(lib)
6158
include(server)

0 commit comments

Comments
 (0)