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

Commit 5e9323d

Browse files
committed
Possible android build fixes (after fuzzylite changes);
1 parent 091f3dc commit 5e9323d

File tree

5 files changed

+32
-4
lines changed

5 files changed

+32
-4
lines changed

build.py

+1
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ def fixLibsFiles():
5555
import fix_boost_files
5656
import fix_sdl_makefiles
5757
import fix_ffmpeg_confs
58+
import fix_fuzzylite_dirs
5859

5960
def moveSDLIncludes():
6061
vcmiutil.flatCopyWithExt("ext/SDL2/core/code/include/", "ext/SDL2/core/include/", ".h")

fix_fuzzylite_dirs.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import os
2+
import vcmiutil
3+
4+
# changes fuzzylite hardcoded output dirs (FL/out/bin) to conditional set, so it doesn't override our arch-based output folder
5+
6+
def fixFuzzyliteHardcodedOutputDirs():
7+
replacements = [
8+
vcmiutil.ReplacementEntry("set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY bin)", "if (NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)\n\tset(CMAKE_ARCHIVE_OUTPUT_DIRECTORY bin) #fixed via vcmi python\nendif()"),
9+
vcmiutil.ReplacementEntry("set(CMAKE_LIBRARY_OUTPUT_DIRECTORY bin)", "if (NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)\n\tset(CMAKE_LIBRARY_OUTPUT_DIRECTORY bin) #fixed via vcmi python\nendif()"),
10+
vcmiutil.ReplacementEntry("set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)", "if (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)\n\tset(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin) #fixed via vcmi python\nendif()")
11+
]
12+
13+
vcmiutil.fixFile("./ext/vcmi/AI/Fuzzylite/fuzzylite/CMakeLists.txt", replacements)
14+
15+
fixFuzzyliteHardcodedOutputDirs()

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cmake_minimum_required(VERSION 3.4.1)
22

3-
set(CMAKE_MODULE_PATH ${VCMI_ROOT}/project/vcmi-app/cmake-scripts)
3+
set(CMAKE_MODULE_PATH "${VCMI_ROOT}/project/vcmi-app/cmake-scripts;${VCMI_ROOT}/ext/vcmi/cmake_modules")
4+
include(VCMIUtils)
45

56
set(ANDROID ON)
67

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

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ function(build_fuzzylite)
2020
set(FL_BUILD_BINARY OFF CACHE BOOL "Build fuzzylite binary")
2121
set(FL_CPP11 ON CACHE BOOL "Builds utilizing C++11, i.e., passing -std=c++11")
2222
set(FL_INSTALL_LIBDIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
23-
set(FL_INSTALL_BINDIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
23+
set(FL_INSTALL_BINDIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
24+
set(FL_BACKTRACE OFF CACHE BOOL "Provide backtrace information in case of errors" FORCE) # backtrace requires execinfo.h, which ndk doesn't have
2425
add_subdirectory(${VCMI_PATH_VCMI}/AI/FuzzyLite/fuzzylite ${VCMI_PATH_VCMI}/AI/FuzzyLite/OUT)
25-
set_target_properties(fl-shared PROPERTIES OUTPUT_NAME vcmi-fuzzylite)
26+
set_target_properties(fl-shared PROPERTIES OUTPUT_NAME vcmi-fuzzylite)
2627
set_target_properties(fl-shared PROPERTIES DEBUG_POSTFIX "")
2728
endfunction(build_fuzzylite)
2829

@@ -62,7 +63,7 @@ function(build_libs)
6263
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${VCMI_PATH_EXT_LIBS})
6364
set(CMAKE_INSTALL_LIBDIR ${VCMI_PATH_EXT_LIBS})
6465

65-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
66+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-varargs")
6667
set(CMAKE_BUILD_TYPE Release)
6768

6869
add_definitions(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
prefix=@CMAKE_INSTALL_PREFIX@
2+
exec_prefix=${prefix}blah
3+
includedir=${exec_prefix}/include
4+
libdir=${exec_prefix}/lib
5+
6+
Name: fuzzylite
7+
Description: A fuzzy logic control library in C++
8+
Version: @FL_VERSION@
9+
Libs: -L${libdir} -lfuzzylite
10+
Cflags: -I${includedir}

0 commit comments

Comments
 (0)