Update CMakeLists files tree and organization
authorRomain Forlot <romain.forlot@iot.bzh>
Fri, 5 May 2017 08:59:12 +0000 (10:59 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Fri, 5 May 2017 08:59:12 +0000 (10:59 +0200)
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>
templates/html5/CMakeLists.txt
templates/html5/app/CMakeLists.txt
templates/hybrid-html5/CMakeLists.txt
templates/hybrid-html5/binding/CMakeLists.txt
templates/native/CMakeLists.txt
templates/native/app/CMakeLists.txt [new file with mode: 0644]
templates/service/CMakeLists.txt
templates/service/binding/CMakeLists.txt [new file with mode: 0644]

index bc9558e..bbdab76 100644 (file)
@@ -23,4 +23,5 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake)
 
 project_subdirs_add()
 
-build_widget()
+project_targets_populate()
+project_package_build()
index 80bb600..625e93c 100644 (file)
@@ -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
index b153bf0..420f6e1 100644 (file)
@@ -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()
index e07ee5a..6be615f 100644 (file)
 ###########################################################################
 
 # 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}
index c40f0ca..420f6e1 100644 (file)
@@ -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 (file)
index 0000000..5a9fa63
--- /dev/null
@@ -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})
index a0faf48..bbdab76 100644 (file)
@@ -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 (file)
index 0000000..bd422b5
--- /dev/null
@@ -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