]> Creatis software - cpPlugins.git/blob - appli/bash/CMakeLists.txt
aa50398a4d02800c6f00516ecd210083218f9e55
[cpPlugins.git] / appli / bash / CMakeLists.txt
1 SET(_pfx "cpPlugins_bash_")
2 SET(_src_dir ${CMAKE_CURRENT_SOURCE_DIR})
3 SET(_bin_dir ${CMAKE_CURRENT_BINARY_DIR})
4
5 ## ========================
6 ## == Build sources list ==
7 ## ========================
8
9 FILE(GLOB _sources RELATIVE "${_src_dir}" "${_src_dir}/*.cxx")
10 FILE(GLOB _sources_cfg RELATIVE "${_src_dir}" "${_src_dir}/*.cxx.in")
11 FILE(GLOB _headers_cfg RELATIVE "${_src_dir}" "${_src_dir}/*.h.in")
12
13 ## =======================
14 ## == Configure sources ==
15 ## =======================
16
17 FOREACH(_cfg ${_headers_cfg})
18   GET_FILENAME_COMPONENT(_ext ${_cfg} EXT)
19   STRING(LENGTH ${_ext} _ext_len)
20   STRING(SUBSTRING ${_ext} 1 ${_ext_len} _ext_name)
21   GET_FILENAME_COMPONENT(_real_ext ${_ext_name} NAME_WE)
22   GET_FILENAME_COMPONENT(_name ${_cfg} NAME_WE)
23   CONFIGURE_FILE(
24     ${_src_dir}/${_cfg}
25     ${_bin_dir}/${_name}.${_real_ext} @ONLY
26     )
27 ENDFOREACH(_cfg)
28
29 FOREACH(_cfg ${_sources_cfg})
30   GET_FILENAME_COMPONENT(_ext ${_cfg} EXT)
31   STRING(LENGTH ${_ext} _ext_len)
32   STRING(SUBSTRING ${_ext} 1 ${_ext_len} _ext_name)
33   GET_FILENAME_COMPONENT(_real_ext ${_ext_name} NAME_WE)
34   GET_FILENAME_COMPONENT(_name ${_cfg} NAME_WE)
35   CONFIGURE_FILE(
36     ${_src_dir}/${_cfg}
37     ${_bin_dir}/${_name}.${_real_ext} @ONLY
38     )
39   LIST(APPEND _sources ${_bin_dir}/${_name}.${_real_ext})
40 ENDFOREACH(_cfg)
41
42 ## ==========================
43 ## == Compile source files ==
44 ## ==========================
45
46 FOREACH(_src ${_sources})
47   GET_FILENAME_COMPONENT(_name ${_src} NAME_WE)
48   SET(_prog ${_pfx}${_name})
49   ADD_EXECUTABLE(${_prog} ${_src})
50   INSTALL(
51     TARGETS ${_prog}
52     RUNTIME DESTINATION bin
53     LIBRARY DESTINATION lib
54     ARCHIVE DESTINATION lib/static
55     )
56   SET(${_prog}_APP ${_prog} CACHE INTERNAL "bash program ${_prog}")
57 ENDFOREACH(_src)
58
59 ## eof - $RCSfile$