41 Commits

Author SHA1 Message Date
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
218d0e8ade CMake: Build dtool metalibs as metalibs 2018-04-19 00:07:08 -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
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
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
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
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
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
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
Sam Edwards
3f045f85f5 CMake: Hack up the Interrogate macro to work when the codebase depends on the Dtool_* stubs. 2014-01-30 18:55:40 -07:00
Sam Edwards
5fd958a9be CMake: Completely re-do the Interrogate macro. 2014-01-30 18:55:14 -07:00
Sam Edwards
f9d4a3ccef CMake: Revert back to rdb's Interrogate. This can be done cleaner. 2014-01-30 15:47:00 -07:00
Sam Edwards
c9a4228811 When interrogating under CMake, record INTERROGATE_DATABASE as a target property. 2014-01-30 13:16:18 -07:00
Sam Edwards
72c180a82c Massively update CMake's Interrogate macro. This gets several modules to build... 2014-01-29 14:39:38 -07:00
kestred
c579f87007 cmake: Reorganize macros, and cleanup related files (add docs, etc) 2013-12-21 13:44:05 -07:00