Warning, /frameworks/kinit/KF5InitMacros.cmake is written in an unsupported language. File is not indexed.
0001 set(_KINITDIR ${CMAKE_CURRENT_LIST_DIR}) 0002 0003 macro(_FIND_KDEINIT_FILE OUTPUT_VAR INFIX) 0004 set(_KDE5INIT_DUMMY_FILENAME kde5init${INFIX}_dummy.cpp.in) 0005 if(KInit_SOURCE_DIR) 0006 set(${OUTPUT_VAR} "${KInit_SOURCE_DIR}/${_KDE5INIT_DUMMY_FILENAME}") 0007 else() 0008 find_file(${OUTPUT_VAR} NAMES ${_KDE5INIT_DUMMY_FILENAME} HINTS ${_KINITDIR}) 0009 endif() 0010 endmacro() 0011 0012 function (KF5_ADD_KDEINIT_EXECUTABLE _target_NAME ) 0013 cmake_parse_arguments(KF5_KDEINIT "NOGUI" "" "" ${ARGN} ) 0014 set(_SRCS ${KF5_KDEINIT_UNPARSED_ARGUMENTS}) 0015 0016 _FIND_KDEINIT_FILE(_KDE5INIT_DUMMY_FILEPATH "") 0017 configure_file(${_KDE5INIT_DUMMY_FILEPATH} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp) 0018 0019 if(WIN32) 0020 if (MINGW) 0021 list(FIND _SRCS ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_res.o _res_position) 0022 else(MINGW) 0023 list(FIND _SRCS ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}.rc _res_position) 0024 endif(MINGW) 0025 if(NOT _res_position EQUAL -1) 0026 list(GET _SRCS ${_res_position} _resourcefile) 0027 list(REMOVE_AT _SRCS ${_res_position}) 0028 endif(NOT _res_position EQUAL -1) 0029 0030 # We don't need a shared library on Windows, use a static library that gets included in the executable. 0031 # Since Windows doesn't use fork()+exec() there is no use for this library by kdeinit. 0032 # Having the static library ensures that target_link_libraries(myexe kdeinit_foo) also works on Windows and not just on UNIX 0033 add_library(kdeinit_${_target_NAME} STATIC ${_SRCS}) 0034 else() 0035 # Use a shared library on UNIX so that kdeinit can dlopen() it 0036 add_library(kdeinit_${_target_NAME} SHARED ${_SRCS}) 0037 endif() 0038 if (APPLE) 0039 set(_resourcefile ${MACOSX_BUNDLE_ICON_FILE}) 0040 endif() 0041 add_executable(${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp ${_resourcefile}) 0042 target_link_libraries(${_target_NAME} kdeinit_${_target_NAME}) 0043 set_target_properties(kdeinit_${_target_NAME} PROPERTIES OUTPUT_NAME kdeinit5_${_target_NAME}) 0044 0045 if(KF5_KDEINIT_NOGUI) 0046 ecm_mark_nongui_executable(${_target_NAME}) 0047 endif() 0048 endfunction ()