Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
djinni
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
djinni
Commits
0c1aa241
Commit
0c1aa241
authored
Apr 06, 2017
by
Andrew Twyman
Committed by
GitHub
Apr 06, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #303 from 4brunu/cmake
CMake to build djinni support library
parents
697bde61
8528ff90
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
72 additions
and
0 deletions
+72
-0
CMakeLists.txt
CMakeLists.txt
+72
-0
No files found.
CMakeLists.txt
0 → 100644
View file @
0c1aa241
cmake_minimum_required
(
VERSION 3.6.0
)
project
(
djinni_support_lib
)
include
(
GNUInstallDirs
)
set
(
SRC_SHARED
"support-lib/djinni_common.hpp"
"support-lib/proxy_cache_interface.hpp"
"support-lib/proxy_cache_impl.hpp"
)
set
(
SRC_JNI
"support-lib/jni/djinni_support.hpp"
"support-lib/jni/Marshal.hpp"
"support-lib/jni/djinni_support.cpp"
)
set
(
SRC_OBJC
"support-lib/objc/DJICppWrapperCache+Private.h"
"support-lib/objc/DJIError.h"
"support-lib/objc/DJIMarshal+Private.h"
"support-lib/objc/DJIObjcWrapperCache+Private.h"
"support-lib/objc/DJIError.mm"
"support-lib/objc/DJIProxyCaches.mm"
)
option
(
DJINNI_STATIC_LIB
"Build Djinni support library as a static library instead of dynamic (the default)."
off
)
if
(
DJINNI_STATIC_LIB
)
add_library
(
djinni_support_lib STATIC
${
SRC_SHARED
}
)
else
()
add_library
(
djinni_support_lib SHARED
${
SRC_SHARED
}
)
endif
()
source_group
(
""
FILES
${
SRC_SHARED
}
)
set_target_properties
(
djinni_support_lib PROPERTIES
CXX_STANDARD 11
CXX_STANDARD_REQUIRED true
CXX_EXTENSIONS false
)
# Objective-C support
option
(
DJINNI_WITH_OBJC
"Include the Objective-C support code in Djinni support library."
off
)
if
(
DJINNI_WITH_OBJC
)
target_include_directories
(
djinni_support_lib PUBLIC
"$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
/support-lib/objc/>"
)
target_sources
(
djinni_support_lib PRIVATE
${
SRC_OBJC
}
)
source_group
(
"objc"
FILES
${
SRC_OBJC
}
)
target_compile_options
(
djinni_support_lib PUBLIC
"-fobjc-arc"
)
endif
()
# JNI support
option
(
DJINNI_WITH_JNI
"Include the JNI support code in Djinni support library."
off
)
if
(
DJINNI_WITH_JNI
)
if
(
NOT DJINNI_STATIC_LIB
)
list
(
APPEND SRC_JNI
"support-lib/jni/djinni_main.cpp"
)
endif
()
target_include_directories
(
djinni_support_lib PUBLIC
"$<BUILD_INTERFACE:
${
CMAKE_CURRENT_SOURCE_DIR
}
/support-lib/jni/>"
)
target_sources
(
djinni_support_lib PRIVATE
${
SRC_JNI
}
)
source_group
(
"jni"
FILES
${
SRC_JNI
}
)
# Do not use the host's jni.h on Android as it is provided automatically by the NDK
if
(
NOT ANDROID
)
find_package
(
JNI REQUIRED QUIET
)
target_include_directories
(
djinni_support_lib PUBLIC
"
${
JNI_INCLUDE_DIRS
}
"
)
endif
()
endif
()
if
(
NOT
(
DJINNI_WITH_OBJC OR DJINNI_WITH_JNI
))
message
(
FATAL_ERROR
"At least one of DJINNI_WITH_OBJC or DJINNI_WITH_JNI must be enabled."
)
endif
()
# Store path to the "run" executable so it can be passed as argument to add_custom_command() scripts
set
(
DJINNI_RUN_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src/run"
CACHE FILEPATH
"Path to the Djinni generator executable."
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment