mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Improve handling of generated distributable files
- the two dist_add_... macros now both take a list of file names as argument so more files can be added at once to the dist tarball. - dist_add_generated now creates the right target by itself. There's no need to pass one any more - make the swig generated *.py module files explicit output files - change a couple of custom_targets into custom_commands. The only reason they were defined as targets was to ensure they got built before the dist tarball. This is now properly handled by the dist_add_... macros. - correctly handle dependency on swig-runtime.h (using OBJECT_DEPENDS was not the way to do it according to that property's help page)
This commit is contained in:
parent
3dff4e5211
commit
4317d8a8f6
@ -774,7 +774,7 @@ if (BUILDING_FROM_VCS)
|
||||
COMMAND ${GIT_EXECUTABLE} log --format=\"%ad %aN %n%n%x09* %s%d%n\" --date=short --since=2018-01-01 > ${CMAKE_BINARY_DIR}/ChangeLog
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
dist_add_generated(ChangeLog ChangeLog)
|
||||
dist_add_generated(ChangeLog)
|
||||
install(FILES ${CMAKE_BINARY_DIR}/ChangeLog DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
else()
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/ChangeLog DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
@ -38,19 +38,18 @@ IF (BUILDING_FROM_VCS)
|
||||
)
|
||||
|
||||
SET (SWIG_GNUCASH_CORE_C ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core.c)
|
||||
SET (SWIG_GNUCASH_CORE_C_PY ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py)
|
||||
SET (SWIG_GNUCASH_CORE_PY ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py)
|
||||
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-gnucash-core ${SWIG_GNUCASH_CORE_C}
|
||||
${SWIG_GNUCASH_CORE_PY}
|
||||
${SWIG_FILES}
|
||||
${CMAKE_SOURCE_DIR}/common/base-typemaps.i
|
||||
${CMAKE_SOURCE_DIR}/libgnucash/engine/engine-common.i
|
||||
${GNUCASH_CORE_C_INCLUDES}
|
||||
)
|
||||
add_custom_target(swig-gnucash-core-c-py DEPENDS swig-gnucash-core)
|
||||
dist_add_generated(swig-gnucash-core-c-py gnucash_core_c.py)
|
||||
ELSE()
|
||||
SET (SWIG_GNUCASH_CORE_C gnucash_core.c)
|
||||
SET (SWIG_GNUCASH_CORE_C_PY ${CMAKE_CURRENT_SOURCE_DIR}/gnucash_core_c.py)
|
||||
SET (SWIG_GNUCASH_CORE_PY ${CMAKE_CURRENT_SOURCE_DIR}/gnucash_core_c.py)
|
||||
ENDIF()
|
||||
|
||||
IF(WITH_PYTHON)
|
||||
@ -87,14 +86,14 @@ IF(WITH_PYTHON)
|
||||
LIBRARY DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||
ARCHIVE DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||
)
|
||||
INSTALL(FILES ${PYEXEC_FILES} ${SWIG_GNUCASH_CORE_C_PY}
|
||||
INSTALL(FILES ${PYEXEC_FILES} ${SWIG_GNUCASH_CORE_PY}
|
||||
DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||
)
|
||||
|
||||
FILE(COPY ${PYEXEC_FILES} DESTINATION ${PYTHON_SYSCONFIG_BUILD}/gnucash)
|
||||
|
||||
ADD_CUSTOM_TARGET(gnucash-core-c-py ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${SWIG_GNUCASH_CORE_C_PY} ${PYTHON_SYSCONFIG_BUILD}/gnucash
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${SWIG_GNUCASH_CORE_PY} ${PYTHON_SYSCONFIG_BUILD}/gnucash
|
||||
DEPENDS ${SWIG_GNUCASH_CORE_C})
|
||||
|
||||
ADD_CUSTOM_TARGET(gnucash-core-c-build ALL
|
||||
|
@ -12,12 +12,21 @@ SET(common_EXTRA_DIST
|
||||
guile-mappings.h
|
||||
platform.h)
|
||||
|
||||
IF (BUILDING_FROM_VCS)
|
||||
SET (SWIG_RUNTIME_H ${CMAKE_CURRENT_BINARY_DIR}/swig-runtime.h PARENT_SCOPE)
|
||||
ELSE()
|
||||
SET (SWIG_RUNTIME_H ${CMAKE_CURRENT_SOURCE_DIR}/swig-runtime.h PARENT_SCOPE)
|
||||
ENDIF()
|
||||
dist_add_generated(swig-runtime-h swig-runtime.h)
|
||||
|
||||
if (BUILDING_FROM_VCS)
|
||||
set (SWIG_RUNTIME_H ${CMAKE_CURRENT_BINARY_DIR}/swig-runtime.h)
|
||||
# Command to generate the swig-runtime.h header
|
||||
add_custom_command (
|
||||
OUTPUT ${SWIG_RUNTIME_H}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
COMMAND ${SWIG_EXECUTABLE} -guile -external-runtime ${SWIG_RUNTIME_H}
|
||||
)
|
||||
else()
|
||||
set (SWIG_RUNTIME_H ${CMAKE_CURRENT_SOURCE_DIR}/swig-runtime.h)
|
||||
endif()
|
||||
dist_add_generated(swig-runtime.h)
|
||||
|
||||
add_custom_target (swig-runtime-h DEPENDS ${SWIG_RUNTIME_H})
|
||||
|
||||
SET_LOCAL_DIST(common_DIST_local CMakeLists.txt ${common_EXTRA_DIST})
|
||||
|
||||
|
@ -20,12 +20,13 @@ macro (GNC_ADD_SWIG_COMMAND _target _output _input)
|
||||
set(BUILD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
# Add the output file _output to the dist tarball
|
||||
file(RELATIVE_PATH generated ${BUILD_SOURCE_DIR} ${_output})
|
||||
dist_add_generated(${_target} ${generated})
|
||||
dist_add_generated(${generated})
|
||||
endmacro (GNC_ADD_SWIG_COMMAND)
|
||||
|
||||
|
||||
macro (GNC_ADD_SWIG_PYTHON_COMMAND _target _output _input)
|
||||
macro (GNC_ADD_SWIG_PYTHON_COMMAND _target _output _py_output _input)
|
||||
|
||||
set (DEFAULT_SWIG_PYTHON_FLAGS
|
||||
-python
|
||||
@ -39,16 +40,15 @@ macro (GNC_ADD_SWIG_PYTHON_COMMAND _target _output _input)
|
||||
${CMAKE_SOURCE_DIR}/libgnucash/app-utils
|
||||
)
|
||||
|
||||
|
||||
set (PYTHON_SWIG_FLAGS ${DEFAULT_SWIG_PYTHON_FLAGS})
|
||||
foreach (dir ${DEFAULT_SWIG_PYTHON_C_INCLUDES})
|
||||
list (APPEND PYTHON_SWIG_FLAGS "-I${dir}")
|
||||
endforeach (dir)
|
||||
add_custom_command(OUTPUT ${_output}
|
||||
add_custom_command(OUTPUT ${_output} ${_py_output}
|
||||
COMMAND ${SWIG_EXECUTABLE} ${PYTHON_SWIG_FLAGS} -o ${_output} ${_input}
|
||||
DEPENDS ${_input} ${CMAKE_SOURCE_DIR}/common/base-typemaps.i ${ARGN}
|
||||
)
|
||||
add_custom_target(${_target} ALL DEPENDS ${_output} ${CMAKE_SOURCE_DIR}/common/base-typemaps.i ${_input} ${ARGN})
|
||||
add_custom_target(${_target} ALL DEPENDS ${_output} ${_py_output} ${CMAKE_SOURCE_DIR}/common/base-typemaps.i ${_input} ${ARGN})
|
||||
|
||||
|
||||
if (BUILDING_FROM_VCS)
|
||||
@ -57,6 +57,10 @@ macro (GNC_ADD_SWIG_PYTHON_COMMAND _target _output _input)
|
||||
set(BUILD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
# Add the output files _output and _py_output to the dist tarball
|
||||
file(RELATIVE_PATH generated ${BUILD_SOURCE_DIR} ${_output})
|
||||
dist_add_generated(${_target} ${generated})
|
||||
dist_add_generated(${generated})
|
||||
|
||||
file(RELATIVE_PATH py_generated ${BUILD_SOURCE_DIR} ${_py_output})
|
||||
dist_add_generated(${py_generated})
|
||||
endmacro()
|
||||
|
@ -30,32 +30,54 @@ FUNCTION(EXECUTE_PROCESS_AND_CHECK_RESULT)
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
||||
# These macros can be called to add a generated file (as opposed to a source file)
|
||||
# to the distribution tarball
|
||||
# - dist_add_configured will only add the file to the tarball. This macro
|
||||
# should be used for files that are generated during a cmake run (for example with configure_file)
|
||||
# - dist_add_generated will add the file to the tarball and generate a dependency
|
||||
# for the file to the dist target. This macro should be used for all files that
|
||||
# will be generated during a "make" or "ninja-build" run
|
||||
macro(dist_add_configured _configured)
|
||||
if (BUILDING_FROM_VCS)
|
||||
set(BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR})
|
||||
set(CURRENT_BUILD_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
macro(make_target_name target source)
|
||||
if(BUILDING_FROM_VCS)
|
||||
set(TGT_BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR})
|
||||
set(TGT_CURRENT_BUILD_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
else()
|
||||
set(BUILD_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||||
set(CURRENT_BUILD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set(TGT_BUILD_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||||
set(TGT_CURRENT_BUILD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
file(RELATIVE_PATH rel_file ${TGT_BUILD_SOURCE_DIR} ${TGT_CURRENT_BUILD_SOURCE_DIR}/${source})
|
||||
string(REPLACE "/" "-" target_tmp ${rel_file})
|
||||
string(REPLACE "_" "-" target_tmp2 ${target_tmp})
|
||||
string(REPLACE "." "-" ${target} dist-${target_tmp2})
|
||||
endmacro()
|
||||
|
||||
# These macros can be called to add generated files (as opposed to source files)
|
||||
# to the distribution tarball
|
||||
# - dist_add_configured will only add the files to the tarball. This macro
|
||||
# should be used for files that are generated during a cmake run (for example with configure_file)
|
||||
# - dist_add_generated will add the files to the tarball and generate a dependency
|
||||
# for each file to the dist target. This macro should be used for all files that
|
||||
# will be generated during a "make" or "ninja-build" run (for example those that are
|
||||
# the result of an add_custom_command)
|
||||
macro(dist_add_configured)
|
||||
if(BUILDING_FROM_VCS)
|
||||
set(CONF_BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR})
|
||||
set(CONF_CURRENT_BUILD_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||
else()
|
||||
set(CONF_BUILD_SOURCE_DIR ${CMAKE_SOURCE_DIR})
|
||||
set(CONF_CURRENT_BUILD_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif()
|
||||
file(RELATIVE_PATH rel_conf ${BUILD_SOURCE_DIR} ${CURRENT_BUILD_SOURCE_DIR}/${_configured})
|
||||
|
||||
set(local_generated ${dist_generated})
|
||||
list(APPEND local_generated ${rel_conf})
|
||||
foreach(conf_file ${ARGN})
|
||||
file(RELATIVE_PATH rel_conf ${CONF_BUILD_SOURCE_DIR} ${CONF_CURRENT_BUILD_SOURCE_DIR}/${conf_file})
|
||||
list(APPEND local_generated ${rel_conf})
|
||||
endforeach()
|
||||
set(dist_generated ${local_generated} CACHE INTERNAL "generated files that will be included in the distribution tarball")
|
||||
endmacro()
|
||||
|
||||
macro(dist_add_generated _target _generated)
|
||||
dist_add_configured(${_generated})
|
||||
macro(dist_add_generated)
|
||||
dist_add_configured(${ARGN})
|
||||
|
||||
set(local_generated_depends ${dist_generated_depends})
|
||||
list(APPEND local_generated_depends ${_target})
|
||||
foreach(gen_file ${ARGN})
|
||||
make_target_name(dist_target ${gen_file})
|
||||
add_custom_target(${dist_target} DEPENDS ${TGT_CURRENT_BUILD_SOURCE_DIR}/${gen_file}) # Note TGT_CURRENT_BUILD_SOURCE_DIR trickles down from the make_target macro
|
||||
list(APPEND local_generated_depends ${dist_target})
|
||||
endforeach()
|
||||
set(dist_generated_depends ${local_generated_depends} CACHE INTERNAL "global targets for generated files that will be included in the distribution tarball")
|
||||
endmacro()
|
||||
|
@ -32,9 +32,11 @@ IF (BUILDING_FROM_VCS)
|
||||
GNC_ADD_SWIG_COMMAND (swig-unittest-support-guile-c ${SWIG_UNITTEST_SUPPORT_GUILE_C}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unittest-support.i ${test_core_HEADERS})
|
||||
SET (SWIG_UNITTEST_SUPPORT_PYTHON_C ${CMAKE_CURRENT_BINARY_DIR}/swig-unittest-support-python.c)
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-unittest-support-python ${SWIG_UNITTEST_SUPPORT_PYTHON_C} ${CMAKE_CURRENT_SOURCE_DIR}/unittest-support.i)
|
||||
add_custom_target(unittest-support-py DEPENDS swig-unittest-support-python)
|
||||
dist_add_generated(unittest-support-py unittest_support.py)
|
||||
SET (SWIG_UNITTEST_SUPPORT_PYTHON_PY ${CMAKE_CURRENT_BINARY_DIR}/unittest_support.py)
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-unittest-support-python
|
||||
${SWIG_UNITTEST_SUPPORT_PYTHON_C}
|
||||
${SWIG_UNITTEST_SUPPORT_PYTHON_PY}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unittest-support.i)
|
||||
ELSE()
|
||||
SET (SWIG_UNITTEST_SUPPORT_GUILE_C swig-unittest-support-guile.c)
|
||||
SET (SWIG_UNITTEST_SUPPORT_PYTHON_C swig-unittest-support-python.c)
|
||||
|
@ -84,6 +84,6 @@ ADD_CUSTOM_COMMAND(OUTPUT gnucash.1
|
||||
-P ${CMAKE_CURRENT_BINARY_DIR}/manpage.cmake
|
||||
)
|
||||
ADD_CUSTOM_TARGET(gnucash-manpage DEPENDS gnucash.1)
|
||||
dist_add_generated(gnucash-manpage gnucash.1)
|
||||
dist_add_generated(gnucash.1)
|
||||
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/gnucash.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
|
@ -33,7 +33,7 @@ ADD_CUSTOM_COMMAND(
|
||||
)
|
||||
|
||||
ADD_CUSTOM_TARGET(gnc-warnings-c DEPENDS ${GNC_WARNINGS_C})
|
||||
dist_add_generated(gnc-warnings-c gnc-warnings.c)
|
||||
dist_add_generated(gnc-warnings.c)
|
||||
# FIXME why is gnc-warnings.c added to dist and gnc-warnings.h not ? I think neither is necessary...
|
||||
|
||||
#GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
|
||||
|
@ -128,7 +128,6 @@ SET (gnc_gnome_SOURCES
|
||||
)
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES (${gnc_gnome_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
||||
SET_SOURCE_FILES_PROPERTIES (business-options-gnome.c PROPERTIES OBJECT_DEPENDS ${SWIG_RUNTIME_H})
|
||||
|
||||
IF (WIN32)
|
||||
SET (gnc_gnome_SOURCES ${gnc_gnome_SOURCES} ${CMAKE_SOURCE_DIR}/borrowed/libc/strfmon.c)
|
||||
@ -148,6 +147,7 @@ TARGET_INCLUDE_DIRECTORIES(gnc-gnome
|
||||
${GTK_MAC_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_dependencies (gnc-gnome swig-runtime-h)
|
||||
|
||||
IF (MAC_INTEGRATION)
|
||||
TARGET_COMPILE_OPTIONS(gnc-gnome PRIVATE ${OSX_EXTRA_COMPILE_FLAGS})
|
||||
|
@ -42,7 +42,11 @@ IF (BUILDING_FROM_VCS)
|
||||
SET (SWIG_APP_UTILS_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-app-utils-guile.c)
|
||||
GNC_ADD_SWIG_COMMAND (swig-apputils-guile-c ${SWIG_APP_UTILS_GUILE_C} ${CMAKE_CURRENT_SOURCE_DIR}/app-utils.i)
|
||||
SET (SWIG_APP_UTILS_PYTHON_C ${CMAKE_CURRENT_BINARY_DIR}/swig-app-utils-python.c)
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-app-utils-python ${SWIG_APP_UTILS_PYTHON_C} ${CMAKE_CURRENT_SOURCE_DIR}/app-utils.i)
|
||||
SET (SWIG_APP_UTILS_PYTHON_PY ${CMAKE_CURRENT_BINARY_DIR}/sw_app_utils.py)
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-app-utils-python
|
||||
${SWIG_APP_UTILS_PYTHON_C}
|
||||
${SWIG_APP_UTILS_PYTHON_PY}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/app-utils.i)
|
||||
ELSE()
|
||||
SET (SWIG_APP_UTILS_GUILE_C swig-app-utils-guile.c)
|
||||
SET (SWIG_APP_UTILS_PYTHON_C swig-app-utils-python.c)
|
||||
|
@ -6,7 +6,11 @@ IF (BUILDING_FROM_VCS)
|
||||
SET (SWIG_CORE_UTILS_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-core-utils-guile.c)
|
||||
GNC_ADD_SWIG_COMMAND (swig-core-utils-guile-c ${SWIG_CORE_UTILS_GUILE_C} ${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)
|
||||
SET (SWIG_CORE_UTILS_PYTHON_C ${CMAKE_CURRENT_BINARY_DIR}/swig-core-utils-python.c)
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-core-utils-python ${SWIG_CORE_UTILS_PYTHON_C} ${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)
|
||||
SET (SWIG_CORE_UTILS_PYTHON_PY ${CMAKE_CURRENT_BINARY_DIR}/sw_core_utils.py)
|
||||
GNC_ADD_SWIG_PYTHON_COMMAND (swig-core-utils-python
|
||||
${SWIG_CORE_UTILS_PYTHON_C}
|
||||
${SWIG_CORE_UTILS_PYTHON_PY}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)
|
||||
ELSE()
|
||||
SET(SWIG_CORE_UTILS_GUILE_C swig-core-utils-guile.c)
|
||||
SET(SWIG_CORE_UTILS_PYTHON_C swig-core-utils-python.c)
|
||||
@ -28,20 +32,6 @@ SET (core_utils_SOURCES
|
||||
# Add dependency on config.h
|
||||
SET_SOURCE_FILES_PROPERTIES (${core_utils_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
||||
|
||||
IF (BUILDING_FROM_VCS)
|
||||
# Command to generate the swig-runtime.h header
|
||||
ADD_CUSTOM_COMMAND (
|
||||
OUTPUT ${SWIG_RUNTIME_H}
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
COMMAND ${SWIG_EXECUTABLE} -guile -external-runtime ${SWIG_RUNTIME_H}
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
ADD_CUSTOM_TARGET(swig-runtime-h DEPENDS ${SWIG_RUNTIME_H})
|
||||
|
||||
# Add dependency on swig-runtime.h
|
||||
SET_SOURCE_FILES_PROPERTIES (gnc-guile-utils.c PROPERTIES OBJECT_DEPENDS ${SWIG_RUNTIME_H})
|
||||
|
||||
SET(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
if(ENABLE_BINRELOC)
|
||||
SET(datadir ${DATADIR})
|
||||
@ -122,7 +112,7 @@ ENDIF()
|
||||
ELSE(BUILDING_FROM_VCS)
|
||||
ADD_CUSTOM_TARGET(gnc-vcs-info DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gnc-vcs-info.h)
|
||||
ENDIF(BUILDING_FROM_VCS)
|
||||
dist_add_generated(gnc-vcs-info gnc-vcs-info.h)
|
||||
dist_add_generated(gnc-vcs-info.h)
|
||||
### Compile library
|
||||
|
||||
SET(core_utils_noinst_HEADERS
|
||||
@ -157,8 +147,8 @@ IF (MAC_INTEGRATION)
|
||||
LIST(APPEND core_utils_ALL_LIBRARIES ${OSX_EXTRA_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
ADD_LIBRARY (gnc-core-utils ${core_utils_ALL_SOURCES} ${SWIG_CORE_UTILS_GUILE_C})
|
||||
ADD_DEPENDENCIES(gnc-core-utils gnc-vcs-info)
|
||||
ADD_LIBRARY(gnc-core-utils ${core_utils_ALL_SOURCES} ${SWIG_CORE_UTILS_GUILE_C})
|
||||
add_dependencies(gnc-core-utils gnc-vcs-info swig-runtime-h)
|
||||
|
||||
TARGET_LINK_LIBRARIES(gnc-core-utils ${core_utils_ALL_LIBRARIES})
|
||||
|
||||
|
@ -28,8 +28,7 @@ SET(VERSION_TEXI_IN
|
||||
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version.texi ${VERSION_TEXI_IN})
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/stamp-vti ${VERSION_TEXI_IN})
|
||||
dist_add_configured(version.texi)
|
||||
dist_add_configured(stamp-vti)
|
||||
dist_add_configured(version.texi stamp-vti)
|
||||
|
||||
FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" TEXI_BINARY_DIR)
|
||||
FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/gnucash-design.texi" TEXI_SOURCE_FILE)
|
||||
@ -37,18 +36,19 @@ find_program(MAKEINFO makeinfo)
|
||||
if (NOT ${MAKEINFO} STREQUAL "MAKEINFO-NOTFOUND")
|
||||
|
||||
IF(${CMAKE_VERSION} VERSION_GREATER 3.1)
|
||||
ADD_CUSTOM_TARGET(gnucash-design-info ALL
|
||||
add_custom_command(
|
||||
OUTPUT gnucash-design.info
|
||||
COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
|
||||
BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/gnucash-design.info
|
||||
DEPENDS ${gnucash_design_TEXINFOS}
|
||||
)
|
||||
ELSE()
|
||||
ADD_CUSTOM_TARGET(gnucash-design-info ALL
|
||||
add_custom_command(
|
||||
OUTPUT gnucash-design.info
|
||||
COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
|
||||
DEPENDS ${gnucash_design_TEXINFOS}
|
||||
)
|
||||
ENDIF()
|
||||
endif (NOT ${MAKEINFO} STREQUAL "MAKEINFO-NOTFOUND")
|
||||
dist_add_generated(gnucash-design-info gnucash-design.info)
|
||||
dist_add_generated(gnucash-design.info)
|
||||
|
||||
SET_DIST_LIST(doc_design_DIST CMakeLists.txt gnucash-design.texi ${gnucash_design_TEXINFOS})
|
||||
|
@ -134,7 +134,7 @@ ADD_CUSTOM_COMMAND (
|
||||
${LIBXSLT_XSLTPROC_EXECUTABLE} -o ${ISO_4217_C} "${CMAKE_CURRENT_SOURCE_DIR}/iso-currencies-to-c.xsl" "${CMAKE_CURRENT_SOURCE_DIR}/iso-4217-currencies.xml"
|
||||
)
|
||||
ADD_CUSTOM_TARGET(iso-4217-c DEPENDS ${ISO_4217_C})
|
||||
dist_add_generated(iso-4217-c iso-4217-currencies.c)
|
||||
dist_add_generated(iso-4217-currencies.c)
|
||||
|
||||
SET (engine_SOURCES
|
||||
Account.cpp
|
||||
@ -221,9 +221,6 @@ SET_SOURCE_FILES_PROPERTIES (${engine_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFI
|
||||
# Add dependency on iso-4217-currencies.c
|
||||
SET_SOURCE_FILES_PROPERTIES (gnc-commodity.c PROPERTIES OBJECT_DEPENDS "${ISO_4217_C};${CONFIG_H}")
|
||||
|
||||
# Add dependency on swig-runtime.h
|
||||
SET_SOURCE_FILES_PROPERTIES (gnc-hooks.c engine-helpers.c kvp-scm.cpp glib-helpers.c PROPERTIES OBJECT_DEPENDS "${CONFIG_H};${SWIG_RUNTIME_H}")
|
||||
|
||||
|
||||
|
||||
ADD_LIBRARY (gncmod-engine
|
||||
@ -233,6 +230,9 @@ ADD_LIBRARY (gncmod-engine
|
||||
${engine_noinst_HEADERS}
|
||||
)
|
||||
|
||||
# Add dependency on swig-runtime.h
|
||||
add_dependencies (gncmod-engine swig-runtime-h)
|
||||
|
||||
TARGET_LINK_LIBRARIES(gncmod-engine gnc-core-utils gnc-module ${Boost_DATE_TIME_LIBRARIES} ${Boost_REGEX_LIBRARIES} ${REGEX_LDFLAGS} ${GMODULE_LDFLAGS} ${GLIB2_LDFLAGS} ${GOBJECT_LDFLAGS} ${GUILE_LDFLAGS})
|
||||
|
||||
TARGET_COMPILE_DEFINITIONS (gncmod-engine PRIVATE -DG_LOG_DOMAIN=\"gnc.engine\")
|
||||
|
@ -159,7 +159,7 @@ IF(BUILDING_FROM_VCS)
|
||||
MESSAGE(FATAL_ERROR "Can't find the 'xgettext' program.")
|
||||
ENDIF ()
|
||||
|
||||
add_custom_target(gnucash-pot
|
||||
add_custom_command(OUTPUT gnucash.pot
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-D INTLTOOL_EXTRACT=${INTLTOOL_EXTRACT}
|
||||
-D INTLTOOL_UPDATE=${INTLTOOL_UPDATE}
|
||||
@ -171,12 +171,8 @@ IF(BUILDING_FROM_VCS)
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/gnucash-pot.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
ELSE()
|
||||
add_custom_target(gnucash-pot
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.pot)
|
||||
ENDIF()
|
||||
dist_add_generated(gnucash-pot gnucash.pot)
|
||||
dist_add_generated(gnucash.pot)
|
||||
|
||||
ADD_CUSTOM_TARGET(check-po
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
|
Loading…
Reference in New Issue
Block a user