## -------------------------------------------------------------------------
FUNCTION(
- CreateLib
- lib_name
- lib_type
+ PrepareSourceFiles
+ out_sources_list
+ out_headers_list
+ out_headers_paths
)
+SET(_config_extensions .c.in .cpp.in .cxx.in .h.in .hpp.in .hxx.in .ui.in)
+SET(_sources_extensions .c .cpp .cxx)
+SET(_headers_extensions .h .hpp .hxx)
+SET(_qt_ui_extensions .ui)
+SET(_demangler_extensions .d)
## -- Configure inputs
-SET(_config_extensions .c.in .cpp.in .cxx.in .h.in .hpp.in .hxx.in .ui.in)
SET(_all_files)
FOREACH(_file ${ARGN})
GET_FILENAME_COMPONENT(_ext ${_file} EXT)
ENDFOREACH(_file)
## -- Separate files
-SET(_sources_extensions .c .cpp .cxx)
-SET(_headers_extensions .h .hpp .hxx)
-SET(_qt_ui_extensions .ui)
-SET(_demangler_extensions .d)
SET(_srcs)
SET(_hdrs)
SET(_qts)
LIST(APPEND _hdrs_paths ${_path})
ENDIF(${_path_idx} EQUAL -1)
ENDFOREACH(_hdr)
+
+SET(${out_sources_list} ${_srcs} PARENT_SCOPE)
+SET(${out_headers_list} ${_hdrs} PARENT_SCOPE)
+SET(${out_headers_paths} ${_hdrs_paths} PARENT_SCOPE)
+
+ENDFUNCTION()
+
+## -------------------------------------------------------------------------
+FUNCTION(
+ CreateLib
+ lib_name
+ lib_type
+ )
+PrepareSourceFiles(_srcs _hdrs _paths ${ARGN})
INCLUDE_DIRECTORIES(
- ${_hdrs_paths}
+ ${_paths}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
STATIC_DEFINE ${lib_name}_BUILT_AS_STATIC
)
ENDIF(_srcs)
-
ENDFUNCTION()
## -------------------------------------------------------------------------
ENDFUNCTION()
+## -------------------------------------------------------------------------
+FUNCTION(
+ CompileAppFromDir
+ app_name
+ app_dir
+ )
+FILE(GLOB_RECURSE _files "${app_dir}/*")
+PrepareSourceFiles(_srcs _hdrs _paths ${_files} ${ARGN})
+INCLUDE_DIRECTORIES(
+ ${_paths}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+IF(_srcs)
+ SET(_app_os_target)
+ IF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ SET(_app_os_target WIN32)
+ ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ SET(_app_os_target MACOSX_BUNDLE)
+ ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ ADD_EXECUTABLE(${app_name} ${_app_os_target} ${_srcs} ${_hdrs})
+ENDIF(_srcs)
+ENDFUNCTION()
+
## eof - $RCSfile$