aboutsummaryrefslogtreecommitdiffstats
path: root/ctl-lib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'ctl-lib/CMakeLists.txt')
-rw-r--r--ctl-lib/CMakeLists.txt95
1 files changed, 73 insertions, 22 deletions
diff --git a/ctl-lib/CMakeLists.txt b/ctl-lib/CMakeLists.txt
index 3ab0774..f3a0d18 100644
--- a/ctl-lib/CMakeLists.txt
+++ b/ctl-lib/CMakeLists.txt
@@ -15,29 +15,80 @@
# See the License for the specific language governing permissions and
# limitations under the License.
###########################################################################
+set(TARGET_NAME "ctl-utilities")
+set(PROJECT_PRETTY_NAME "Controller")
+set(PROJECT_DESCRIPTION "controller")
+set(PROJECT_URL "https://gerrit.automotivelinux.org:29418/apps/app-controller-submodule")
+set(PROJECT_AUTHOR "Ar Foll, Fulup")
+set(PROJECT_AUTHOR_MAIL "fulup@iot.bzh")
+set(PROJECT_LICENSE "APL2.0")
+set(PROJECT_LANGUAGES "C")
-# Include LUA only when requested
-if(CONTROL_SUPPORT_LUA)
- message(STATUS "Notice: LUA Controler Support Selected")
- set(CTL_LUA_SOURCE ctl-lua.c ctl-timer.c ctl-lua-utils.c)
- ADD_COMPILE_OPTIONS(-DCONTROL_SUPPORT_LUA)
-else(CONTROL_SUPPORT_LUA)
- message(STATUS "Warning: LUA Without Support ")
-endif(CONTROL_SUPPORT_LUA)
-
-# Add target to project dependency list
-PROJECT_TARGET_ADD(ctl-utilities)
-
- # Define project Targets
- ADD_LIBRARY(${TARGET_NAME} STATIC ctl-action.c ctl-config.c ctl-onload.c ctl-plugin.c ctl-control.c ctl-event.c ${CTL_LUA_SOURCE})
-
- # Library dependencies (include updates automatically)
- TARGET_LINK_LIBRARIES(${TARGET_NAME}
- afb-helpers
- ${link_libraries}
+if(NOT CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "/usr")
+endif()
+set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
+set(CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include)
+add_definitions(-DAFB_BINDING_VERSION=3)
+add_definitions(-DLUA_GLOB_PATTERN="/var/?.lua\\\;")
+add_definitions(-DSUSE_LUA_INCDIR)
+
+
+INCLUDE(FindPkgConfig)
+set (PKG_REQUIRED_LIST
+ afb-daemon
+ afb-helpers
+ lua
+ )
+
+# Loop on required package and add options
+foreach (PKG_CONFIG ${PKG_REQUIRED_LIST})
+ string(REGEX REPLACE "[<>]?=.*$" "" XPREFIX ${PKG_CONFIG})
+ PKG_CHECK_MODULES(${XPREFIX} REQUIRED ${PKG_CONFIG})
+
+ INCLUDE_DIRECTORIES(${${XPREFIX}_INCLUDE_DIRS})
+ list(APPEND link_libraries ${${XPREFIX}_LDFLAGS})
+ add_compile_options (${${XPREFIX}_CFLAGS})
+endforeach(PKG_CONFIG)
+
+
+set(CTL_LUA_SOURCE ctl-lua.c ctl-lua-utils.c)
+ADD_COMPILE_OPTIONS(-DCONTROL_SUPPORT_LUA)
+
+set(CONTROLLER_HEADERS
+ ctl-config.h
+ ctl-lua.h
+ ctl-plugin.h
)
- # Define target includes for this target client
- TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
+# Define project Targets
+ADD_LIBRARY(${TARGET_NAME} SHARED ctl-action.c ctl-config.c ctl-onload.c ctl-plugin.c ctl-control.c ctl-event.c ${CTL_LUA_SOURCE})
+
+# Library dependencies (include updates automatically)
+TARGET_LINK_LIBRARIES(${TARGET_NAME}
+ afb-helpers
+ ${link_libraries}
+ )
+
+# Define target includes for this target client
+TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME}
+ PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
+ )
+
+CONFIGURE_FILE(${TARGET_NAME}.pc.in ${TARGET_NAME}.pc @ONLY)
+INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}.pc
+ DESTINATION
+ ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ )
+
+INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.so
+ DESTINATION
+ ${CMAKE_INSTALL_LIBDIR}
+ )
+INSTALL(FILES
+ ${CONTROLLER_HEADERS}
+ DESTINATION
+ ${CMAKE_INSTALL_INCLUDEDIR}
)