summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-05-05 10:59:12 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-05-05 10:59:12 +0200
commit2b6134b5cf6515ceb096a8d490382642eaf20a9a (patch)
tree9a08587804215e1f9047bd7d770d7a1da87b7c72
parenta02d416c7e199a58dd75b7ec2a9ca45643ec393b (diff)
Update CMakeLists files tree and organization
Separation between project CMake file and Target CMake files. Adding LINK_FLAGS missing for bindings and following sources files rename operations. Change-Id: I664d20f84fd6a528fb2b057981e3ef9a4243c10d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--templates/html5/CMakeLists.txt3
-rw-r--r--templates/html5/app/CMakeLists.txt2
-rw-r--r--templates/hybrid-html5/CMakeLists.txt3
-rw-r--r--templates/hybrid-html5/binding/CMakeLists.txt8
-rw-r--r--templates/native/CMakeLists.txt30
-rw-r--r--templates/native/app/CMakeLists.txt51
-rw-r--r--templates/service/CMakeLists.txt15
-rw-r--r--templates/service/binding/CMakeLists.txt37
8 files changed, 102 insertions, 47 deletions
diff --git a/templates/html5/CMakeLists.txt b/templates/html5/CMakeLists.txt
index bc9558e..bbdab76 100644
--- a/templates/html5/CMakeLists.txt
+++ b/templates/html5/CMakeLists.txt
@@ -23,4 +23,5 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake)
project_subdirs_add()
-build_widget()
+project_targets_populate()
+project_package_build()
diff --git a/templates/html5/app/CMakeLists.txt b/templates/html5/app/CMakeLists.txt
index 80bb600..625e93c 100644
--- a/templates/html5/app/CMakeLists.txt
+++ b/templates/html5/app/CMakeLists.txt
@@ -17,7 +17,7 @@
###########################################################################
# Add target to project dependency list
-PROJECT_TARGET_ADD(html5-example)
+PROJECT_TARGET_ADD(html5-app)
# Define project Targets
add_custom_command(OUTPUT dist.prod
diff --git a/templates/hybrid-html5/CMakeLists.txt b/templates/hybrid-html5/CMakeLists.txt
index b153bf0..420f6e1 100644
--- a/templates/hybrid-html5/CMakeLists.txt
+++ b/templates/hybrid-html5/CMakeLists.txt
@@ -24,4 +24,5 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake)
# Add subdir targets
project_subdirs_add()
-build_widget()
+project_targets_populate()
+project_package_build()
diff --git a/templates/hybrid-html5/binding/CMakeLists.txt b/templates/hybrid-html5/binding/CMakeLists.txt
index e07ee5a..6be615f 100644
--- a/templates/hybrid-html5/binding/CMakeLists.txt
+++ b/templates/hybrid-html5/binding/CMakeLists.txt
@@ -18,13 +18,17 @@
###########################################################################
# Add target to project dependency list
-PROJECT_TARGET_ADD(xxxxxx-hybrid-binding)
+PROJECT_TARGET_ADD(xxx)
# Define project Targets
- add_library(${TARGET_NAME} MODULE ${TARGET_NAME}.c)
+ add_library(${TARGET_NAME} MODULE
+ ${TARGET_NAME}-hat.c
+ ${TARGET_NAME}-cb.c
+ )
# Binder exposes a unique public entry point
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ PREFIX "afb-"
LABELS "BINDING"
LINK_FLAGS ${BINDINGS_LINK_FLAG}
OUTPUT_NAME ${TARGET_NAME}
diff --git a/templates/native/CMakeLists.txt b/templates/native/CMakeLists.txt
index c40f0ca..420f6e1 100644
--- a/templates/native/CMakeLists.txt
+++ b/templates/native/CMakeLists.txt
@@ -21,34 +21,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.3)
include(${CMAKE_CURRENT_SOURCE_DIR}/etc/config.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake)
-# Add target to project dependency list
-PROJECT_TARGET_ADD(native-example)
-
- # Define project Targets
- add_executable(${TARGET_NAME} app/xxxxxx-native-client.c
- )
-
- link_libraries(
- ${CMAKE_THREAD_LIBS_INIT}
- ${libafbwsc_LIBRARIES}
- ${json-c_LIBRARIES}
- ${libsystemd_LIBRARIES}
- )
-
- # Binder exposes a unique public entry point
- SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
- LABELS "EXECUTABLE"
- OUTPUT_NAME ${TARGET_NAME})
-
- TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
- PUBLIC ${libafbwsc_INCLUDE_DIRS}
- ${json-c_INCLUDE_DIRS}
- ${libsystemd_INCLUDE_DIRS})
-
- TARGET_LINK_LIBRARIES(${TARGET_NAME}
- afbwsc
- ${link_libraries})
+# Add subdir targets
+project_subdirs_add()
project_targets_populate()
-
project_package_build()
diff --git a/templates/native/app/CMakeLists.txt b/templates/native/app/CMakeLists.txt
new file mode 100644
index 0000000..5a9fa63
--- /dev/null
+++ b/templates/native/app/CMakeLists.txt
@@ -0,0 +1,51 @@
+###########################################################################
+# Copyright 2015, 2016, 2017 IoT.bzh
+#
+# author: Fulup Ar Foll <fulup@iot.bzh>
+# contrib: Romain Forlot <romain.forlot@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+# Add target to project dependency list
+PROJECT_TARGET_ADD(xxx-native-app)
+
+ # Define project Targets
+ add_executable(${TARGET_NAME}
+ ${TARGET_NAME}.c
+ )
+
+ link_libraries(
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${libafbwsc_LIBRARIES}
+ ${json-c_LIBRARIES}
+ ${libsystemd_LIBRARIES}
+ )
+
+ # Binder exposes a unique public entry point
+ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ LABELS "EXECUTABLE"
+ OUTPUT_NAME ${TARGET_NAME})
+
+ TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
+ PUBLIC ${libafbwsc_INCLUDE_DIRS}
+ ${json-c_INCLUDE_DIRS}
+ ${libsystemd_INCLUDE_DIRS})
+
+ TARGET_LINK_LIBRARIES(${TARGET_NAME}
+ afbwsc
+ ${link_libraries})
+
+ # installation directory
+ INSTALL(TARGETS ${TARGET_NAME}
+ RUNTIME DESTINATION ${BINDINGS_INSTALL_DIR})
diff --git a/templates/service/CMakeLists.txt b/templates/service/CMakeLists.txt
index a0faf48..bbdab76 100644
--- a/templates/service/CMakeLists.txt
+++ b/templates/service/CMakeLists.txt
@@ -21,20 +21,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.3)
include(${CMAKE_CURRENT_SOURCE_DIR}/etc/config.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake)
-# Add target to project dependency list
-PROJECT_TARGET_ADD(service-example)
-
- # Define project Targets
- add_library(${TARGET_NAME} MODULE
- binding/xxxxxx-service-binding.c
- )
-
- # Binder exposes a unique public entry point
- SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
- PREFIX ""
- LABELS "BINDING"
- OUTPUT_NAME ${TARGET_NAME})
+project_subdirs_add()
project_targets_populate()
-
project_package_build()
diff --git a/templates/service/binding/CMakeLists.txt b/templates/service/binding/CMakeLists.txt
new file mode 100644
index 0000000..bd422b5
--- /dev/null
+++ b/templates/service/binding/CMakeLists.txt
@@ -0,0 +1,37 @@
+###########################################################################
+# Copyright 2015, 2016, 2017 IoT.bzh
+#
+# author: Romain Forlot <romain.forlot@iot.bzh>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###########################################################################
+
+# Add target to project dependency list
+PROJECT_TARGET_ADD(xxx-service)
+
+ # Define project Targets
+ add_library(${TARGET_NAME} MODULE
+ ${TARGET_NAME}-hat.c
+ ${TARGET_NAME}-cb.c
+ )
+
+ # Binder exposes a unique public entry point
+ SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
+ PREFIX "afs-"
+ LABELS "BINDING"
+ LINK_FLAGS ${BINDINGS_LINK_FLAG}
+ OUTPUT_NAME ${TARGET_NAME})
+
+ # Library dependencies (include updates automatically)
+ TARGET_LINK_LIBRARIES(${TARGET_NAME}
+ ${link_libraries}) \ No newline at end of file