summaryrefslogtreecommitdiffstats
path: root/Tests/ObjectLibrary/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Bump CMake minimum required in tests to 3.5Brad King2023-03-011-1/+1
| | | | | | | | | | | | | | | | | | | CMake 3.27 deprecates compatibility with CMake < 3.5. Update tests that do not cover older interfaces to avoid the deprecation warning. Follow the pattern from: * commit 7b07ccdd2b (Tests/*Only: Update cmake_minimum_required versions, 2020-06-15, v3.19.0-rc1~629^2~1) * commit 72e7c45e98 (Tests: Bump CMake minimum required in tests to 2.8.12, 2020-12-22, v3.20.0-rc1~224^2) * commit f6b4db365a (Tests: bump cmake_minimum_required version to 2.8.12, 2021-04-04, v3.21.0-rc1~372^2) Also remove explicit `cmake_policy` settings made redundant by the version.
* target_link_libraries: Place $<TARGET_OBJECTS> before librariesBrad King2021-05-291-0/+2
| | | | | | | | | Linkers always use object files explicitly specified on the command line regardless of where they appear. Move them to the front of the list of linked libraries in so that symbols required by the object files can be resolved by any library. Issue: #22149
* Tests: Bump CMake minimum required in tests to 2.8.12Chuck Atkins2020-12-231-1/+1
| | | | | | | Since 3.19, CMake generates a deprecation warning when using a minimum version less than 2.8.12. This eliminates those warnings generated during tests, which are typically hidden from the user and developer but are being generated nonetheless.
* Tests: Extend ObjectLibrary test with case for object lib dependenciesBrad King2020-03-041-0/+2
| | | | | | Add the test case from commit bab24e782c (target_link_libraries: Propagate dependencies of object libraries, 2018-12-10, v3.14.0-rc1~260^2) to the main ObjectLibrary test.
* Relax the usage of TARGET_OBJECTS generator expressionRobert Maynard2019-04-191-0/+10
| | | | | The geneator expression can now be used with static, shared, and module libraries and executables.
* Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-5/+1
| | | | This generator has been deprecated since CMake 3.6. Remove it.
* Drop Visual Studio 6 generatorBrad King2016-03-091-2/+2
| | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* add_library: Allow arbitrary non-linked sources in OBJECT librariesBrad King2014-07-091-0/+1
| | | | | | | | | | | Loosen this restriction on OBJECT libraries to allow source files of any name to be generated by custom commands or listed for reference in IDE projects so long as they would not affect linking of a normal library. Update the rejection message to be more specific about the looser restriction. Extend the ObjectLibrary test to cover a ".cmake" file generated by a custom command in an OBJECT library.
* Ninja: Add order-only dependencies to link commands (#14728)Ben Boeckel2014-07-011-0/+6
| | | | | | | | | | | | | A library or executable target that consists only of a reference to an object library may have no sources to compile or custom commands to run. The command in the target is the link (or archive) command. Add missing order-only dependencies to link commands so that target ordering dependencies are satisfied for it without depending on an intermediate compilation rule. Extend the ObjectLibrary test to cover this case. Co-Author: Brad King <brad.king@kitware.com>
* Make ExportLanguages a subtest of the ObjectLibrary testStephen Kelly2013-10-241-0/+2
| | | | | | It was a subtest of the RunCMake.ObjectLibrary test. However, we need to test a build with ExternalProject after running CMake, which RunCMake tests do not do.
* Make sure INTERFACE properties work with OBJECT libraries.Stephen Kelly2013-02-081-0/+8
|
* Test OBJECT library use without other sourcesBrad King2012-03-161-0/+36
| | | | | | | | | | | | Reference OBJECT libraries for inclusion in targets that have no other sources to verify that the linker language propagates correctly from the object libraries. Test with a STATIC library, a SHARED library, and an EXECUTABLE target. Use the static and shared libraries each in executables that end up using the object library symbols. In VS 6, 7, and 7.1 add a dummy object file to convince the IDE to build the targets without sources. In Xcode add a dummy source file to convince it to build targets without sources.
* Test OBJECT library success casesBrad King2012-03-161-0/+16
Add "ObjectLibrary" test to build and use OBJECT libraries. Build multiple object libraries in separate directories with different flags. Use a custom command to generate a source file in one OBJECT library. Reference the OBJECT libraries for inclusion in a STATIC library, a SHARED library, and an EXECUTABLE target. Use the static and shared libraries each in executables that end up using the object library symbols. Verify that object library symbols are exported from the shared library.