函数定义 三:cmake_add_executable

include (CMakeParseArguments)
function(cmake_add_executable)
    message("ARGC = " ${ARGC})
    message("ARGV = " ${ARGV})
    message("ARG0 = " ${ARGV0})

    CMAKE_PARSE_ARGUMENTS(
        VK  "ISSET"
        "NAME;COMMAND;BASELINE"
        "SOURCES;LIBRARIES"
         ${ARGN}
    )

    set(CURRENT_APPNAME ${ARGV0})
#    set(CURRENT_APPNAME ${VK_NAME})

    add_executable(${CURRENT_APPNAME} ${VK_SOURCES})
    target_link_libraries(${CURRENT_APPNAME} ${VK_LIBRARIES})

    install(TARGETS ${CURRENT_APPNAME}
        RUNTIME DESTINATION ${VK_INSTALL_DIR_BIN}/${APP_FOLDER}
        LIBRARY DESTINATION ${VK_INSTALL_DIR_LIB}
        ARCHIVE DESTINATION ${VK_INSTALL_DIR_LIB}
    )
endfunction()
set (CURRENT_SOURCE_FILES
    xml/test_scd1.cpp
    xml/scdapi.cpp
)
set (CURRENT_LINK_LIBRARIES
    ${VK_CORE_MODULE_LIBNAME}
    ${VK_SQL_MODULE_LIBNAME}
    )
cmake_add_executable(test_scd1
    SOURCES ${CURRENT_SOURCE_FILES}
    LIBRARIES ${CURRENT_LINK_LIBRARIES}
    )
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。