summaryrefslogtreecommitdiff
path: root/Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2018-03-02 17:36:15 +0000
committerMatthias Melcher <fltk@matthiasm.com>2018-03-02 17:36:15 +0000
commitb2da1fcbaf0b0eebfbc29f22bf47e59a7ee0168e (patch)
tree8947801af5996b6d168e211cc55d2c3c9278546a /Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt
parentca98f4b70cca757d59e36512c6db9a82287d7ac4 (diff)
Fixing Android CMake files
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12698 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt')
-rw-r--r--Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt166
1 files changed, 158 insertions, 8 deletions
diff --git a/Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt b/Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt
index 6ae5fa3c2..658e59c9f 100644
--- a/Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt
+++ b/Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt
@@ -16,16 +16,166 @@
cmake_minimum_required(VERSION 3.4.1)
-# FIXME: add as a second argument the binary build dir
-# so that the first argument can link directly to FLTK
-# instead of the fltk symlink, which is bad for SVN
-add_subdirectory(fltk)
+# ------------------------- Begin Generic CMake Variable Logging ------------------
+
+# /* C++ comment style not allowed */
+
+
+# if you are building in-source, this is the same as CMAKE_SOURCE_DIR, otherwise
+# this is the top level directory of your build tree
+MESSAGE( STATUS "CMAKE_BINARY_DIR: " ${CMAKE_BINARY_DIR} )
+
+# if you are building in-source, this is the same as CMAKE_CURRENT_SOURCE_DIR, otherwise this
+# is the directory where the compiled or generated files from the current CMakeLists.txt will go to
+MESSAGE( STATUS "CMAKE_CURRENT_BINARY_DIR: " ${CMAKE_CURRENT_BINARY_DIR} )
+
+# this is the directory, from which cmake was started, i.e. the top level source directory
+MESSAGE( STATUS "CMAKE_SOURCE_DIR: " ${CMAKE_SOURCE_DIR} )
+
+# this is the directory where the currently processed CMakeLists.txt is located in
+MESSAGE( STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR} )
+
+# contains the full path to the top level directory of your build tree
+MESSAGE( STATUS "PROJECT_BINARY_DIR: " ${PROJECT_BINARY_DIR} )
+
+# contains the full path to the root of your project source directory,
+# i.e. to the nearest directory where CMakeLists.txt contains the PROJECT() command
+MESSAGE( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} )
+
+# set this variable to specify a common place where CMake should put all executable files
+# (instead of CMAKE_CURRENT_BINARY_DIR)
+MESSAGE( STATUS "EXECUTABLE_OUTPUT_PATH: " ${EXECUTABLE_OUTPUT_PATH} )
+
+# set this variable to specify a common place where CMake should put all libraries
+# (instead of CMAKE_CURRENT_BINARY_DIR)
+MESSAGE( STATUS "LIBRARY_OUTPUT_PATH: " ${LIBRARY_OUTPUT_PATH} )
+
+# tell CMake to search first in directories listed in CMAKE_MODULE_PATH
+# when you use FIND_PACKAGE() or INCLUDE()
+MESSAGE( STATUS "CMAKE_MODULE_PATH: " ${CMAKE_MODULE_PATH} )
+
+# this is the complete path of the cmake which runs currently (e.g. /usr/local/bin/cmake)
+MESSAGE( STATUS "CMAKE_COMMAND: " ${CMAKE_COMMAND} )
+
+# this is the CMake installation directory
+MESSAGE( STATUS "CMAKE_ROOT: " ${CMAKE_ROOT} )
+
+# this is the filename including the complete path of the file where this variable is used.
+MESSAGE( STATUS "CMAKE_CURRENT_LIST_FILE: " ${CMAKE_CURRENT_LIST_FILE} )
+
+# this is linenumber where the variable is used
+MESSAGE( STATUS "CMAKE_CURRENT_LIST_LINE: " ${CMAKE_CURRENT_LIST_LINE} )
+
+# this is used when searching for include files e.g. using the FIND_PATH() command.
+MESSAGE( STATUS "CMAKE_INCLUDE_PATH: " ${CMAKE_INCLUDE_PATH} )
+
+# this is used when searching for libraries e.g. using the FIND_LIBRARY() command.
+MESSAGE( STATUS "CMAKE_LIBRARY_PATH: " ${CMAKE_LIBRARY_PATH} )
+
+# the complete system name, e.g. "Linux-2.4.22", "FreeBSD-5.4-RELEASE" or "Windows 5.1"
+MESSAGE( STATUS "CMAKE_SYSTEM: " ${CMAKE_SYSTEM} )
+
+# the short system name, e.g. "Linux", "FreeBSD" or "Windows"
+MESSAGE( STATUS "CMAKE_SYSTEM_NAME: " ${CMAKE_SYSTEM_NAME} )
+
+# only the version part of CMAKE_SYSTEM
+MESSAGE( STATUS "CMAKE_SYSTEM_VERSION: " ${CMAKE_SYSTEM_VERSION} )
+
+# the processor name (e.g. "Intel(R) Pentium(R) M processor 2.00GHz")
+MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR: " ${CMAKE_SYSTEM_PROCESSOR} )
+
+# is TRUE on all UNIX-like OS's, including Apple OS X and CygWin
+MESSAGE( STATUS "UNIX: " ${UNIX} )
+
+# is TRUE on Windows, including CygWin
+MESSAGE( STATUS "WIN32: " ${WIN32} )
+
+# is TRUE on Apple OS X
+MESSAGE( STATUS "APPLE: " ${APPLE} )
+
+# is TRUE when using the MinGW compiler in Windows
+MESSAGE( STATUS "MINGW: " ${MINGW} )
+
+# is TRUE on Windows when using the CygWin version of cmake
+MESSAGE( STATUS "CYGWIN: " ${CYGWIN} )
+
+# is TRUE on Windows when using a Borland compiler
+MESSAGE( STATUS "BORLAND: " ${BORLAND} )
+
+# Microsoft compiler
+MESSAGE( STATUS "MSVC: " ${MSVC} )
+MESSAGE( STATUS "MSVC_IDE: " ${MSVC_IDE} )
+MESSAGE( STATUS "MSVC60: " ${MSVC60} )
+MESSAGE( STATUS "MSVC70: " ${MSVC70} )
+MESSAGE( STATUS "MSVC71: " ${MSVC71} )
+MESSAGE( STATUS "MSVC80: " ${MSVC80} )
+MESSAGE( STATUS "CMAKE_COMPILER_2005: " ${CMAKE_COMPILER_2005} )
+
+
+# set this to true if you don't want to rebuild the object files if the rules have changed,
+# but not the actual source files or headers (e.g. if you changed the some compiler switches)
+MESSAGE( STATUS "CMAKE_SKIP_RULE_DEPENDENCY: " ${CMAKE_SKIP_RULE_DEPENDENCY} )
+
+# since CMake 2.1 the install rule depends on all, i.e. everything will be built before installing.
+# If you don't like this, set this one to true.
+MESSAGE( STATUS "CMAKE_SKIP_INSTALL_ALL_DEPENDENCY: " ${CMAKE_SKIP_INSTALL_ALL_DEPENDENCY} )
+
+# If set, runtime paths are not added when using shared libraries. Default it is set to OFF
+MESSAGE( STATUS "CMAKE_SKIP_RPATH: " ${CMAKE_SKIP_RPATH} )
+
+# set this to true if you are using makefiles and want to see the full compile and link
+# commands instead of only the shortened ones
+MESSAGE( STATUS "CMAKE_VERBOSE_MAKEFILE: " ${CMAKE_VERBOSE_MAKEFILE} )
+
+# this will cause CMake to not put in the rules that re-run CMake. This might be useful if
+# you want to use the generated build files on another machine.
+MESSAGE( STATUS "CMAKE_SUPPRESS_REGENERATION: " ${CMAKE_SUPPRESS_REGENERATION} )
+
+
+# A simple way to get switches to the compiler is to use ADD_DEFINITIONS().
+# But there are also two variables exactly for this purpose:
+
+# the compiler flags for compiling C sources
+MESSAGE( STATUS "CMAKE_C_FLAGS: " ${CMAKE_C_FLAGS} )
+
+# the compiler flags for compiling C++ sources
+MESSAGE( STATUS "CMAKE_CXX_FLAGS: " ${CMAKE_CXX_FLAGS} )
+
+
+# Choose the type of build. Example: SET(CMAKE_BUILD_TYPE Debug)
+MESSAGE( STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} )
+
+# if this is set to ON, then all libraries are built as shared libraries by default.
+MESSAGE( STATUS "BUILD_SHARED_LIBS: " ${BUILD_SHARED_LIBS} )
+
+# the compiler used for C files
+MESSAGE( STATUS "CMAKE_C_COMPILER: " ${CMAKE_C_COMPILER} )
+
+# the compiler used for C++ files
+MESSAGE( STATUS "CMAKE_CXX_COMPILER: " ${CMAKE_CXX_COMPILER} )
+
+# if the compiler is a variant of gcc, this should be set to 1
+MESSAGE( STATUS "CMAKE_COMPILER_IS_GNUCC: " ${CMAKE_COMPILER_IS_GNUCC} )
+
+# if the compiler is a variant of g++, this should be set to 1
+MESSAGE( STATUS "CMAKE_COMPILER_IS_GNUCXX : " ${CMAKE_COMPILER_IS_GNUCXX} )
+
+# the tools for creating libraries
+MESSAGE( STATUS "CMAKE_AR: " ${CMAKE_AR} )
+MESSAGE( STATUS "CMAKE_RANLIB: " ${CMAKE_RANLIB} )
+
+#
+#MESSAGE( STATUS ": " ${} )
+
+# ------------------------- End of Generic CMake Variable Logging ------------------
+
+add_subdirectory(fltk, fltk.build)
# now build app's shared lib
-add_library(native-plasma SHARED
- plasma.cxx)
+add_library(android-hello SHARED
+ HelloAndroid.cxx)
-target_include_directories(native-plasma PRIVATE
+target_include_directories(android-hello PRIVATE
/Users/matt/dev/fltk-1.4.svn
/Users/matt/dev/fltk-1.4.svn/Android)
@@ -35,7 +185,7 @@ set(CMAKE_SHARED_LINKER_FLAGS
"${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")
# add lib dependencies
-target_link_libraries(native-plasma
+target_link_libraries(android-hello
fltk
android
log