Sam Edwards
f54b4b61dd
CMake: Don't use pzip when not built
2018-06-01 02:56:43 -06:00
Sam Edwards
4c4c17cac2
CMake: Flag composite files as generated
...
No idea why this was commented out.
2018-05-26 18:01:05 -06:00
Sam Edwards
538c615abe
CMake: Light tidying in Interrogate.cmake
2018-05-14 19:07:27 -06:00
Sam Edwards
8e230495a1
CMake: Consolidate "module or static" library logic
2018-05-14 19:07:27 -06:00
Sam Edwards
5b3ca1bb05
CMake: Fix up the "transitive library" metalib logic
...
This fixes some cases where transitive libraries, as nominated
by a component library, were not being absorbed into a metalib,
due to the library actually not being defined yet. This makes the
logic a little more robust, first by explicitly requiring a metalib
definition to come after all component library definitions, and second
to assume a library "linked" to a component library is a non-component
if it isn't defined (yet).
2018-04-20 00:20:14 -06:00
Sam Edwards
218d0e8ade
CMake: Build dtool metalibs as metalibs
2018-04-19 00:07:08 -06:00
Sam Edwards
5a31844e11
CMake: Slightly tweak component-library -D inheritance rules
...
This only inherits -D flags from another component library. The private
-D flags should not be inherited from regular libraries.
2018-04-19 00:07:08 -06:00
Sam Edwards
4cec331722
CMake: Add support for building metalibs as metalibs
2018-04-18 14:42:56 -06:00
Sam Edwards
7590c37f0c
CMake: Have Interrogate respect INTERFACE_COMPILE_DEFINITIONS
...
This commit isn't technically quite right, since Interrogate should
use the definitions from COMPILE_DEFINITIONS but the module should
be built with INTERFACE_COMPILE_DEFINITIONS, but whatever. That can
be changed if it becomes a nuisance later on.
The rationale here is it's consistent with how CMake treats these
two properties.
2018-04-18 12:23:18 -06:00
Sam Edwards
c0b8b3c542
CMake: Interrogate bugfix for LINK and IMPORT keywords together
2018-04-15 00:35:49 -06:00
Sam Edwards
1401a1cc48
CMake: Don't use (SO)VERSION for modules
2018-04-05 16:11:59 -06:00
Sam Edwards
cfd603bb8d
CMake: Build Python binary modules as MODULE, never SHARED
2018-04-05 16:11:59 -06:00
Sam Edwards
411e0ee93f
CMake: Use interrogate's -import instead of linking directly
2018-04-05 16:11:59 -06:00
Sam Edwards
2f6c79b9e6
CMake: Build libraries with VERSION/SOVERSION
...
This takes advantage of SONAME and versioning on platforms that support it.
2018-04-02 15:49:05 -06:00
Sam Edwards
540c4fc2cd
CMake: Delete excess spaces
2018-02-21 02:54:09 -07:00
Sam Edwards
0783013ecd
CMake: Custom targets don't need EXCLUDE_FROM_ALL
2018-02-18 20:24:27 -07:00
Sam Edwards
6907eb5207
CMake: Fix Interrogate -module panda3d.${module} flag missing
2018-02-18 03:57:56 -07:00
Sam Edwards
2399655920
CMake: Make sure Interrogate doesn't see package include directories
2018-02-17 16:56:35 -07:00
Sam Edwards
f75e245b1f
CMake: Enhance PackageConfig's include directory processing and name separation
2018-02-16 17:38:51 -07:00
Sam Edwards
021728f4b3
CMake: Start the process of organizing packages into Package.cmake
2018-02-14 16:46:20 -07:00
Sam Edwards
f8c63dbe2b
CMake: Refactor interrogate.cmake a little
...
In particular, rely on INTERROGATE_PYTHON_INTERFACE, not
HAVE_PYTHON AND HAVE_INTERROGATE.
2018-02-11 12:48:17 -07:00
Sam Edwards
b68b6caeb0
CMake: Support targeting Python 3
2018-02-09 22:06:14 -07:00
Sam Edwards
1d666a9841
CMake: Build the models, makepanda-style
2018-02-07 18:59:44 -07:00
Sam Edwards
d66f5fa8e2
CMake: Kill support for <2.8.12
...
The rationale for this is in a comment at the top of the main
CMakeLists.txt file. It was getting harder to maintain support for a
version this old, and pretty much no current system has CMake <3.
Good riddance.
2018-02-06 14:47:12 -07:00
Sam Edwards
e46890010a
cmake: Don't rely on $<TARGET_PROPERTY:...> in CMake < 2.8.10.
2016-12-02 20:41:22 -08:00
Sam Edwards
e58697bee4
cmake: Fix AutoInclude workaround always being used irrespective of version.
...
Also fixes Interrogate's reliance on the INTERFACE_INCLUDE_DIRECTORIES target
property before generation time by using a generator expression to determine
Interrogate's include flags.
2016-12-01 02:36:40 -08:00
Sam Edwards
3bd9750439
Merge branch 'cmake-proper-interrogate' into cmake
2014-10-11 18:15:59 -07:00
Sam Edwards
1fa1eb63cb
CMake: Don't use target_include_directories, it's not supported on CMake 2.8.4.
2014-08-02 20:26:15 -07:00
Sam Edwards
0d13247721
Merge branch 'cmake' into cmake-proper-interrogate
...
Conflicts:
cmake/macros/Interrogate.cmake
panda/src/express/CMakeLists.txt
panda/src/ode/CMakeLists.txt
2014-07-26 19:12:22 -07:00
Sam Edwards
a26df45c38
cmake: Fix Interrogate installation so that runtime paths are properly removed.
2014-04-28 16:21:10 -06:00
Sam Edwards
c82c0df266
cmake: Fix Interrogate macro bug causing component sources to get scanned along with their composite counterparts.
2014-04-16 06:07:55 -06:00
Sam Edwards
c53a656b4b
cmake: Fix typo in PackageConfig.
2014-04-11 03:37:46 -06:00
Sam Edwards
1421627dd9
CMake: Deprecate the FOO_composite pseudotarget -- the hack that needed it is no longer around.
2014-03-30 04:50:14 -06:00
Sam Edwards
b300848589
CMake: Add new "EXTENSIONS" syntax to target_interrogate(...) macro.
2014-03-30 04:49:52 -06:00
Sam Edwards
3969d0e1ac
CMake: Link Interrogate bindings against metalibs.
2014-03-02 18:33:00 -07:00
Sam Edwards
9fc2e6829b
CMake: Generate and install 'pandac' for backwards-compatibility.
2014-02-07 14:30:46 -07:00
Sam Edwards
e5a6259e46
CMake: Get Interrogated modules to install.
2014-02-06 16:33:34 -07:00
Sam Edwards
1d2561b012
CMake: Install the Interrogated _igate libraries. (Temporary; part of the dependency hack.)
2014-02-04 23:10:56 -07:00
Sam Edwards
95e25af828
CMake: Update Interrogate.cmake macro's use of COMPILE_DEFINITIONS:
...
- Slightly older versions of CMake default this to NOTFOUND, so test before iterating.
- Add to local definitions for building the _igate sources.
2014-02-04 14:56:04 -07:00
Sam Edwards
de9ea2a750
CMake: For Interrogate 64/32-bit detection, check sizeof(long) rather than sizeof(void*).
2014-02-03 21:57:27 -07:00
Sam Edwards
eced41b7c3
CMake: Move Interrogate.cmake's _LP64 detection to the top of the script, where it gets added to IGATE_FLAGS.
2014-02-03 21:47:27 -07:00
Sam Edwards
3dc38e0f61
CMake: Move ${INTERROGATE_*_OPTIONS} expansion to the add_custom_command proper; other CMake files may wish to set this after Interrogate.cmake is loaded.
2014-02-03 21:39:06 -07:00
Sam Edwards
8cd41a48af
CMake: Detect 64-bit vs. 32-bit when running Interrogate.
2014-02-03 11:54:51 -07:00
Sam Edwards
df69bba34a
CMake: Fix typos in Interrogate.
2014-02-02 14:55:17 -07:00
Sam Edwards
fd9aec6ee7
CMake: Fix Interrogate's dependency on the *_composite#.cxx files by creating an explicit target that can be used to do composite generation.
2014-02-02 12:24:18 -07:00
Sam Edwards
e150492355
CMake: Use LINK_LIBRARIES instead of INTERFACE_LINK_LIBRARIES in Interrogate macro, for compatibility with CMake < 2.8.12.
2014-02-01 14:24:22 -07:00
Sam Edwards
e3cee4f5cd
CMake: Add .N files to deps for Interrogate command.
2014-01-31 13:41:01 -07:00
Sam Edwards
57944c58d1
CMake: Invoke Interrogate with the same compiler definitions as the source itself.
2014-01-31 13:30:47 -07:00
Sam Edwards
75c1b937f8
CMake: Use "NOT varname" instead of testing for equality to -NOTFOUND.
2014-01-31 12:36:52 -07:00
Sam Edwards
20daa755f0
CMake: Update Interrogate macro to make paths relative to CMake source directory.
2014-01-31 09:10:23 -07:00