summaryrefslogtreecommitdiffstats
path: root/templates/native/app/CMakeLists.txt
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-12 09:59:36 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-05-12 09:59:36 +0200
commit13de1b6b9ae2e61acc4dec24d22be6a3f9b3582c (patch)
tree58965c29e0bb9e176674fcb850e9dcf0babaaea8 /templates/native/app/CMakeLists.txt
parent9ea81dbd25d509cbe88de0702bed54020180f979 (diff)
Adding comments as documentation for each target.
Change-Id: Ia4d73bd4c2cd3be882998c45fca2fa3da8bae971 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
Diffstat (limited to 'templates/native/app/CMakeLists.txt')
-rw-r--r--templates/native/app/CMakeLists.txt40
1 files changed, 37 insertions, 3 deletions
diff --git a/templates/native/app/CMakeLists.txt b/templates/native/app/CMakeLists.txt
index 5a9fa63..1e558fd 100644
--- a/templates/native/app/CMakeLists.txt
+++ b/templates/native/app/CMakeLists.txt
@@ -17,14 +17,22 @@
# limitations under the License.
###########################################################################
-# Add target to project dependency list
+# Project target list
+# --------------------
+# Add target to project dependency list. Name specified as argument will be
+# added to the project target list and the variable ${TARGET_NAME} become
+# available with that value.
PROJECT_TARGET_ADD(xxx-native-app)
# Define project Targets
- add_executable(${TARGET_NAME}
+ add_executable(${TARGET_NAME}
${TARGET_NAME}.c
)
+ # Link
+ # ----
+ # Library dependencies (include updates automatically). Linked to the
+ # target.
link_libraries(
${CMAKE_THREAD_LIBS_INIT}
${libafbwsc_LIBRARIES}
@@ -32,16 +40,42 @@ PROJECT_TARGET_ADD(xxx-native-app)
${libsystemd_LIBRARIES}
)
- # Binder exposes a unique public entry point
+ # Targets properties
+ # ------------------
+ # Target properties will be used to build package tree that will be
+ # built using project_package_build.
+ # OUTPUT_NAME: Depends what is the name of your output file, it is
+ # mandatory to specify which is its name with target the property
+ # OUTPUT_NAME for your target. If file name is same of your target then
+ # use variable ${TARGET_NAME}.
+ # LABELS: Choose between "BINDING", "HTDOCS", "EXECUTABLE" depending of
+ # the type of your target.
+ # PREFIX: This prefix will be added on the output file name specify with
+ # OUTPUT_NAME. By default, there isn't PREFIX on target except on
+ # library target with is "lib".
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
LABELS "EXECUTABLE"
OUTPUT_NAME ${TARGET_NAME})
+ # Include
+ # -------
+ # Define target includes search and dependencies. Choose between PUBLIC,
+ # PRIVATE or INTERFACE. PRIVATE and PUBLIC items will populate the
+ # INCLUDE_DIRECTORIES property of <target>. PUBLIC and INTERFACE items
+ # will populate the INTERFACE_INCLUDE_DIRECTORIES property of <target>.
+ # The following arguments specify include directories.
+ # INTERFACE_INCLUDE_DIRECTORIES will be read at the
+ # TARGET_LINK_LIBRARIES step for others targets that link against this
+ # target.
TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
PUBLIC ${libafbwsc_INCLUDE_DIRS}
${json-c_INCLUDE_DIRS}
${libsystemd_INCLUDE_DIRS})
+ # Link
+ # ----
+ # Library dependencies (include updates automatically). Linked to the
+ # target.
TARGET_LINK_LIBRARIES(${TARGET_NAME}
afbwsc
${link_libraries})