Move generate_auto_job to the top-level CMakeLists.txt

This commit is contained in:
Jay Berkenbilt 2022-05-02 09:53:09 -04:00
parent 7882b85b06
commit 6724a362c3
4 changed files with 28 additions and 28 deletions

View File

@ -280,6 +280,31 @@ if(WIN32)
include(InstallRequiredSystemLibraries)
endif()
set(auto_job_inputs
# Keep in sync with SOURCES in generate_auto_job
generate_auto_job
manual/_ext/qpdf.py
job.yml
manual/cli.rst)
set(auto_job_outputs
# Keep in sync with DESTS in generate_auto_job
libqpdf/qpdf/auto_job_decl.hh
libqpdf/qpdf/auto_job_init.hh
libqpdf/qpdf/auto_job_help.hh
libqpdf/qpdf/auto_job_schema.hh
libqpdf/qpdf/auto_job_json_decl.hh
libqpdf/qpdf/auto_job_json_init.hh)
if(GENERATE_AUTO_JOB)
add_custom_command(
OUTPUT ${auto_job_outputs}
COMMAND ${qpdf_SOURCE_DIR}/generate_auto_job --generate
WORKING_DIRECTORY ${qpdf_SOURCE_DIR}
DEPENDS ${auto_job_inputs})
add_custom_target(auto_job_files ALL DEPENDS ${auto_job_outputs})
endif()
# add_subdirectory order affects test order
add_subdirectory(include)
add_subdirectory(libqpdf)

View File

@ -154,7 +154,7 @@ class Main:
# SOURCES is a list of source files whose contents are used by
# this program. If they change, we are out of date.
SOURCES = [
# Keep this list in sync with libqpdf/CMakeLists.txt: auto_job_inputs
# Keep this list in sync with CMakeLists.txt: auto_job_inputs
whoami,
'manual/_ext/qpdf.py',
'job.yml',
@ -165,7 +165,7 @@ class Main:
# code, are included in various places by QPDFJob.hh or any of the
# implementing QPDFJob*.cc files.
DESTS = {
# Keep this list in sync with libqpdf/CMakeLists.txt: auto_job_outputs
# Keep this list in sync with CMakeLists.txt: auto_job_outputs
'decl': 'libqpdf/qpdf/auto_job_decl.hh',
'init': 'libqpdf/qpdf/auto_job_init.hh',
'help': 'libqpdf/qpdf/auto_job_help.hh',

View File

@ -1,5 +1,5 @@
# Generated by generate_auto_job
generate_auto_job 4282688446d9f2a432990eb337e4824e889083b529387b64129b84671ec22328
generate_auto_job 0514289f2deb3bf7c1a6e85ef7d99ad120321ef5a6fe49d76c5274c6a658d3f1
include/qpdf/auto_job_c_att.hh 4c2b171ea00531db54720bf49a43f8b34481586ae7fb6cbf225099ee42bc5bb4
include/qpdf/auto_job_c_copy_att.hh 50609012bff14fd82f0649185940d617d05d530cdc522185c7f3920a561ccb42
include/qpdf/auto_job_c_enc.hh 28446f3c32153a52afa239ea40503e6cc8ac2c026813526a349e0cd4ae17ddd5

View File

@ -1,28 +1,3 @@
set(auto_job_inputs
# Keep in sync with SOURCES in generate_auto_job
../generate_auto_job
../manual/_ext/qpdf.py
../job.yml
../manual/cli.rst)
set(auto_job_outputs
# Keep in sync with DESTS in generate_auto_job
qpdf/auto_job_decl.hh
qpdf/auto_job_init.hh
qpdf/auto_job_help.hh
qpdf/auto_job_schema.hh
qpdf/auto_job_json_decl.hh
qpdf/auto_job_json_init.hh)
if(GENERATE_AUTO_JOB)
add_custom_command(
OUTPUT ${auto_job_outputs}
COMMAND ${qpdf_SOURCE_DIR}/generate_auto_job --generate
WORKING_DIRECTORY ${qpdf_SOURCE_DIR}
DEPENDS ${auto_job_inputs})
add_custom_target(auto_job_files ALL DEPENDS ${auto_job_outputs})
endif()
set(libqpdf_crypto_native
AES_PDF_native.cc
MD5_native.cc