Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow overriding cmake target names, install pdb symbols on msvc compiler #976

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

stevewgr
Copy link

Description

Note that this is useful in particular when you want to use consistent library names across all platforms, because on windows both shared and static libs use the same *.lib extension in comparison to unix systems where *.so is shared and *.a is static or on macos dylib for dynamic libraries.
Surely we can also configure target properties and set OUTPUT_NAME, but that creates other questions about configurations that do not match with the target name. This is considered a bad practice and hence the approach of overriding the target names should also influence the output names and other configurations that may depend upon it.

Some examples below:

mkdir build && cd build
cmake .. -DZLIB_STATIC_PROJECT_NAME="zlib" -DZLIB_SHARED_PROJECT_NAME="zlib-shared"

Or say you would like to use the s postfix for the static library instead of lengthy static postfix:

cmake .. -DZLIB_STATIC_PROJECT_NAME="zlibs"

stevewgr added 3 commits May 30, 2024 14:55
Note that this is useful in particular when you want to use consistent
library names across all platforms, because on windows both shared and
static libs use the same *.lib extension in comparison to unix systems
where *.so is shared and *.a is static or on macos dylib for dynamic
libraries.
Surely we can also configure target properties and set OUTPUT_NAME, but
that creates other questions about configurations that do not match with
the target name. This is considered a bad practice and hence the
approach of overriding the target names should also influence the output
names and other configurations that may depend upon it.
@stevewgr stevewgr changed the title Allow overriding cmake target names Allow overriding cmake target names, install pdb symbols on msvc compiler May 30, 2024
@Neustradamus
Copy link

@madler: Have you seen this PR?

@Vollstrecker
Copy link

As there is now zlib and zlibstatic target, I think this one is obsolete now.

@Neustradamus Neustradamus mentioned this pull request Nov 11, 2024
Vollstrecker pushed a commit to cmake-remake/zlib that referenced this pull request Nov 30, 2024
add option to also install zlib1.ddl for compat
partially superseeds madler#976
Vollstrecker pushed a commit to cmake-remake/zlib that referenced this pull request Nov 30, 2024
adjust min required version for regex, superseeds madler#43
@Vollstrecker Vollstrecker mentioned this pull request Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants