63 Commits

Author SHA1 Message Date
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