Compare commits

..

No commits in common. "c82b5f29f1c4794e6519e9556fd7389a6628b63b" and "5068be6679f3e0480301f7e9df5b8147435cdcd4" have entirely different histories.

3 changed files with 29 additions and 46 deletions

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.0) cmake_minimum_required(VERSION 3.0)
project(myx-cmake VERSION 0.4.4 LANGUAGES) project(myx-cmake VERSION 0.4.1 LANGUAGES)
include(GNUInstallDirs) include(GNUInstallDirs)
file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake

View File

@ -1,42 +1,6 @@
find_program(UNCRUSTIFY_EXE NAMES uncrustify)
if(UNCRUSTIFY_EXE)
if(NOT EXISTS ${CMAKE_BINARY_DIR}/uncrustify-classheader.txt)
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-classheader.txt CONTENT
"/**
* @class $(fclass)
* @brief TODO
* @details TODO
*/")
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/uncrustify-filefooter.txt)
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-filefooter.txt CONTENT
"// EOF $(filename)")
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/uncrustify-fileheader.txt)
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-fileheader.txt CONTENT
"/**
* @file $(filename)
* @brief TODO
* @details TODO
*/")
endif()
if(NOT EXISTS ${CMAKE_BINARY_DIR}/uncrustify-funcheader.txt)
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-funcheader.txt CONTENT
"/**
* @fn $(fclass)::$(function)
* $(javaparam)
* @details TODO
*/")
endif()
endif()
function(myx_cmake_format_sources target) function(myx_cmake_format_sources target)
find_program(UNCRUSTIFY_EXE NAMES uncrustify)
if(UNCRUSTIFY_EXE) if(UNCRUSTIFY_EXE)
get_target_property(__sources ${target} SOURCES) get_target_property(__sources ${target} SOURCES)
list(FILTER __sources EXCLUDE REGEX "qrc_.*\\.cpp$") list(FILTER __sources EXCLUDE REGEX "qrc_.*\\.cpp$")
@ -68,7 +32,26 @@ function(myx_cmake_format_sources target)
add_custom_target(${target}-format-sources-uncrustify add_custom_target(${target}-format-sources-uncrustify
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} --mtime ${__sources}) COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} --mtime ${__sources})
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-classheader.txt CONTENT
"/**
* @class $(fclass)
* @brief TODO
* @details TODO
*/")
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-filefooter.txt CONTENT
"// EOF $(filename)")
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-fileheader.txt CONTENT
"/**
* @file $(filename)
* @brief TODO
* @details TODO
*/")
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/uncrustify-funcheader.txt CONTENT
"/**
* @fn $(fclass)::$(function)
* $(javaparam)
* @details TODO
*/")
add_custom_target(${target}-doc-doxygen-append-comments add_custom_target(${target}-doc-doxygen-append-comments
DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg DEPENDS ${CMAKE_BINARY_DIR}/uncrustify.cfg
COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS} COMMAND ${UNCRUSTIFY_EXE} ${UNCRUSTIFY_OPTS}

View File

@ -16,27 +16,27 @@ function(myx_cmake_generate_pkgconfig target)
get_target_property(__target_type ${target} TYPE) get_target_property(__target_type ${target} TYPE)
if(__target_type STREQUAL INTERFACE_LIBRARY) if(__target_type STREQUAL INTERFACE_LIBRARY)
file( file(
WRITE "${CMAKE_BINARY_DIR}/${ARG_BASENAME}.pc" WRITE "${CMAKE_BINARY_DIR}/${BASENAME}.pc"
"prefix=${CMAKE_INSTALL_PREFIX}\n" "prefix=${CMAKE_INSTALL_PREFIX}\n"
"exec_prefix=${CMAKE_INSTALL_PREFIX}\n" "exec_prefix=${CMAKE_INSTALL_PREFIX}\n"
"includedir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n" "includedir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n"
"\n" "\n"
"Name: ${ARG_BASENAME}\n" "Name: ${BASENAME}\n"
"Description: ${ARG_BASENAME} header-only library\n" "Description: ${BASENAME} header-only library\n"
"Version: ${PROJECT_VERSION}\n" "Version: ${PROJECT_VERSION}\n"
"\n" "\n"
"Requires:\n" "Requires:\n"
"Cflags: -I${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n") "Cflags: -I${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n")
else() else()
file( file(
WRITE "${CMAKE_BINARY_DIR}/${ARG_BASENAME}.pc" WRITE "${CMAKE_BINARY_DIR}/${BASENAME}.pc"
"prefix=${CMAKE_INSTALL_PREFIX}\n" "prefix=${CMAKE_INSTALL_PREFIX}\n"
"exec_prefix=${CMAKE_INSTALL_PREFIX}\n" "exec_prefix=${CMAKE_INSTALL_PREFIX}\n"
"libdir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\n" "libdir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\n"
"includedir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n" "includedir=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n"
"\n" "\n"
"Name: ${ARG_BASENAME}\n" "Name: ${BASENAME}\n"
"Description: ${ARG_BASENAME} library\n" "Description: ${BASENAME} library\n"
"Version: ${PROJECT_VERSION}\n" "Version: ${PROJECT_VERSION}\n"
"\n" "\n"
"Requires:\n" "Requires:\n"
@ -44,7 +44,7 @@ function(myx_cmake_generate_pkgconfig target)
"Cflags: -I${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n") "Cflags: -I${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}\n")
endif() endif()
install( install(
FILES "${CMAKE_BINARY_DIR}/${ARG_BASENAME}.pc" FILES "${CMAKE_BINARY_DIR}/${BASENAME}.pc"
COMPONENT ${ARG_COMPONENT} COMPONENT ${ARG_COMPONENT}
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endfunction() endfunction()