Commit Graph

108 Commits

Author SHA1 Message Date
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 590523ac8c CMake: Rename FindSquish to FindLibSquish
CMake already has a "FindSquish" for finding the GUI testing product.
This minimizes the chances of the wrong module being run on accident.
2018-02-20 18:58:52 -07:00
Sam Edwards 8b9d2c0f33 CMake: Delete FindEigen2, we rely on Eigen3+ 2018-02-20 18:19:56 -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 283db1fb7a CMake: Implement detection for FFTW3 2018-02-17 23:35:43 -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 9d1254d440 cmake: Fix Eigen3 detection and support. 2014-04-17 02:56:56 -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 127dfe7c4d cmake: Add FFMPEG compilation support. 2014-04-11 03:38:08 -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 161beda242 CMake: Add missing quotes in FindCg module. 2014-03-02 21:53:15 -07:00
Sam Edwards 3969d0e1ac CMake: Link Interrogate bindings against metalibs. 2014-03-02 18:33:00 -07:00
Sam Edwards f972221357 CMake: Detect ODE. 2014-02-08 16:20:57 -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