crystal-of-rhylil/proj.android-studio/app/CMakeLists.txt

111 lines
3.8 KiB
CMake
Raw Normal View History

2018-08-01 08:31:24 +00:00
# Sets the minimum version of CMake required to build the native
# library. You should either keep the default value or only pass a
# value of 3.4.0 or lower.
2018-07-20 07:36:26 +00:00
cmake_minimum_required(VERSION 3.4.1)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
2018-08-01 08:31:24 +00:00
# You can define multiple libraries, and CMake builds it for you.
2018-07-20 07:36:26 +00:00
# Gradle automatically packages shared libraries with your APK.
2018-08-01 08:31:24 +00:00
add_definitions(-DTARGET_ANDROID)
set(JNI_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../jni)
set(BOOST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../boost_1_67_0)
set(BOOST_GIL_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/boost-gil-extension)
set(ZIP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/julienr-libzip-android/jni)
set(LIBPNG_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/libpng_1.4.1_android)
set(LIBJPEG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/jpeg-9")
set(EIGEN_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../eigen)
set(SOL2_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../sol2)
set(LUA_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/lua-5.3.4/src)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../tes-engine)
include_directories(${JNI_PATH})
include_directories(${JNI_PATH}/match3)
include_directories(${BOOST_PATH})
include_directories(${EIGEN_PATH})
include_directories(${SOL2_PATH})
include_directories(${LUA_PATH})
include_directories(${LIBPNG_PATH})
include_directories(${LIBJPEG_PATH})
include_directories(${ZIP_PATH})
include_directories(${BOOST_GIL_PATH})
2018-07-20 07:36:26 +00:00
add_library( # Sets the name of the library.
2018-08-01 08:31:24 +00:00
CrystalOfRhylil
2018-07-20 07:36:26 +00:00
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
2018-08-01 08:31:24 +00:00
# Associated headers in the same location as their source
# file are automatically included.
${JNI_PATH}/main_code.cpp
${JNI_PATH}/match3/match3field.cpp
${JNI_PATH}/android_api.cpp
)
add_library( engine
SHARED
IMPORTED )
set_target_properties( # Specifies the target library.
engine
# Specifies the parameter you want to define.
PROPERTIES IMPORTED_LOCATION
# Provides the path to the library you want to import.
${CMAKE_CURRENT_SOURCE_DIR}/../../../tes-engine/SalmonEngineAndroid/app/build/intermediates/cmake/debug/obj/${ANDROID_ABI}/libengine.so
)
2018-07-20 07:36:26 +00:00
# Searches for a specified prebuilt library and stores the path as a
2018-08-01 08:31:24 +00:00
# variable. Because system libraries are included in the search path by
2018-07-20 07:36:26 +00:00
# default, you only need to specify the name of the public NDK library
# you want to add. CMake verifies that the library exists before
# completing its build.
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log )
2018-08-01 08:31:24 +00:00
find_library( # Sets the name of the path variable.
GLESv2-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
GLESv2 )
2018-07-20 07:36:26 +00:00
# Specifies libraries CMake should link to your target library. You
2018-08-01 08:31:24 +00:00
# can link multiple libraries, such as libraries you define in the
2018-07-20 07:36:26 +00:00
# build script, prebuilt third-party libraries, or system libraries.
target_link_libraries( # Specifies the target library.
2018-08-01 08:31:24 +00:00
CrystalOfRhylil
engine
2018-07-20 07:36:26 +00:00
# Links the target library to the log library
# included in the NDK.
2018-08-01 08:31:24 +00:00
${log-lib} ${GLESv2-lib} )