Skip to content

cmake: fix broken dependency chain for cmdline-opts, tidy-ups - #14883

Closed
vszakats wants to merge 7 commits into
curl:masterfrom
vszakats:cm-fix-manual-dependencies
Closed

cmake: fix broken dependency chain for cmdline-opts, tidy-ups#14883
vszakats wants to merge 7 commits into
curl:masterfrom
vszakats:cm-fix-manual-dependencies

Conversation

@vszakats

@vszakats vszakats commented Sep 12, 2024

Copy link
Copy Markdown
Member
  • make curl.1 and curl.txt depend on DPAGES.
    To trigger a rebuild when an individual manpage is updated.

  • tell CMake that the cmdline-opts command also creates curl.txt.

  • make tool_hugehelp.c depend on curl.txt (was: curl.1), to match
    what it actually uses for input.

  • stop using generate-curl.1 as an indirect way to create curl.txt
    in time for tool_hugehelp.c. After the fixes above there is a direct
    depedency chain between them.

  • move ASCIIPAGE and MANPAGE variables to top-level, re-use them in
    src and prefix them with CURL_ to avoid clashing with other
    projects.

  • drop double quotes from generate-curl.1 as a hint that it is not
    a filename, but a target name.

  • src: tidy up order of dependency lists.


@vszakats vszakats changed the title cmake: fix source dependency for tool_hugehelp.c cmake: tidy up dependencies of generated sources Sep 12, 2024
@vszakats
vszakats marked this pull request as draft September 12, 2024 13:50
@vszakats
vszakats force-pushed the cm-fix-manual-dependencies branch from 3f95d6d to 229164e Compare September 12, 2024 15:11
@vszakats vszakats changed the title cmake: tidy up dependencies of generated sources cmake: fix broken dependency chain for cmdline-opts, tidy-ups Sep 12, 2024
Also stop depending on the indirect target generate-curl.1 for
tool_hugehelp.c.
@vszakats
vszakats marked this pull request as ready for review September 12, 2024 17:20
@vszakats vszakats closed this in 496da69 Sep 20, 2024
@vszakats
vszakats deleted the cm-fix-manual-dependencies branch September 20, 2024 23:04
vszakats added a commit to vszakats/curl that referenced this pull request Sep 30, 2024
Trying to fix intermittent build failures with MSVC 2008:
```
unity_0.obj : error LNK2019: unresolved external symbol _showhelp referenced in function _tool_help
unity_0.obj : error LNK2019: unresolved external symbol _hugehelp referenced in function _operate
```
https://ci.appveyor.com/project/curlorg/curl/builds/50700212/job/h3ekljnbccosej5k#L154
https://ci.appveyor.com/project/curlorg/curl/builds/50701615/job/61mkg9og1eooqli8#L155

Follow-up to 496da69 curl#14883
vszakats added a commit that referenced this pull request Sep 30, 2024
Trying to fix intermittent build failures with MSVC 2008:
```
unity_0.obj : error LNK2019: unresolved external symbol _showhelp referenced in function _tool_help
unity_0.obj : error LNK2019: unresolved external symbol _hugehelp referenced in function _operate
```
https://ci.appveyor.com/project/curlorg/curl/builds/50700212/job/h3ekljnbccosej5k#L154
https://ci.appveyor.com/project/curlorg/curl/builds/50701615/job/61mkg9og1eooqli8#L155

Follow-up to 496da69 #14883

Closes #15088
pps83 pushed a commit to pps83/curl that referenced this pull request Apr 26, 2025
- make `curl.1` and `curl.txt` depend on `DPAGES`.
  To trigger a rebuild when an individual manpage is updated.

- tell CMake that the cmdline-opts command also creates `curl.txt`.

- make `tool_hugehelp.c` depend on `curl.txt` (was: `curl.1`), to match
  what it actually uses for input.

- stop using `generate-curl.1` as an indirect way to create `curl.txt`
  in time for `tool_hugehelp.c`. After the fixes above there is a direct
  depedency chain between them.

- move `ASCIIPAGE` and `MANPAGE` variables to top-level, re-use them in
  `src` and prefix them with `CURL_` to avoid clashing with other
  projects.

- drop double quotes from `generate-curl.1` as a hint that it is not
  a filename, but a target name.

- src: tidy up order of dependency lists.

Closes curl#14883
pps83 pushed a commit to pps83/curl that referenced this pull request Apr 26, 2025
Trying to fix intermittent build failures with MSVC 2008:
```
unity_0.obj : error LNK2019: unresolved external symbol _showhelp referenced in function _tool_help
unity_0.obj : error LNK2019: unresolved external symbol _hugehelp referenced in function _operate
```
https://ci.appveyor.com/project/curlorg/curl/builds/50700212/job/h3ekljnbccosej5k#L154
https://ci.appveyor.com/project/curlorg/curl/builds/50701615/job/61mkg9og1eooqli8#L155

Follow-up to 496da69 curl#14883

Closes curl#15088
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant