diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-10-20 01:29:21 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-10-20 01:29:21 +0800 |
| commit | a59ba0e3eda5381623a4929486b2f673a883d8d8 (patch) | |
| tree | ad7af8234e12bd5ca27bcf61385705f8465de556 /cfront/cmake | |
| parent | f20fef9298247bae52cfc8e879d24a29d190aae9 (diff) | |
| download | rcc-project-a59ba0e3eda5381623a4929486b2f673a883d8d8.tar.gz rcc-project-a59ba0e3eda5381623a4929486b2f673a883d8d8.tar.xz | |
[CMake] Add compiler options and target helpers
Diffstat (limited to 'cfront/cmake')
| -rw-r--r-- | cfront/cmake/modules/AddCFront.cmake | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cfront/cmake/modules/AddCFront.cmake b/cfront/cmake/modules/AddCFront.cmake new file mode 100644 index 0000000..50ba9f9 --- /dev/null +++ b/cfront/cmake/modules/AddCFront.cmake @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +include_guard(GLOBAL) +include(AddRCC) + +function(add_cfront_library name) + cmake_parse_arguments(PARSE_ARGV 1 arg "DISABLE_PCH_REUSE;NO_INSTALL_RPATH" "" "LINK_LIBS;PRECOMPILE_HEADERS") + add_library(${name} ${arg_UNPARSED_ARGUMENTS}) + target_link_libraries(${name} PUBLIC CFrontHeaders ${arg_LINK_LIBS}) + rcc_configure_target(${name}) + install(TARGETS ${name} EXPORT CFrontTargets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +endfunction() + +function(add_cfront_tool name) + add_rcc_executable(${name} ${ARGN}) + target_link_libraries(${name} PRIVATE CFrontHeaders) + install(TARGETS ${name} EXPORT CFrontTargets + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +endfunction() |
