Commit Graph

246 Commits

Author SHA1 Message Date
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
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 82a74dc281 Revert "Revert "Revise AutoInclude.cmake: My version of CMake, despite being >=2.8.11, doesn't actually support CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE.""
This reverts commit a40bfdb9061ceb06925d2756166640b368896946.
2014-01-30 16:47:00 -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 cebdcd1d43 Revert "Revise AutoInclude.cmake: My version of CMake, despite being >=2.8.11, doesn't actually support CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE."
This reverts commit 6a38e3c95df00da728cbd253c0bf80c22d0c419b.
2014-01-30 13:47:44 -07:00
Sam Edwards c9a4228811 When interrogating under CMake, record INTERROGATE_DATABASE as a target property. 2014-01-30 13:16:18 -07:00
kestred f8b901f60a Fix incorrect licensing and add missing parens after else. 2014-01-30 09:39:29 -07:00
kestred bb19d8cb23 Enable package filtering by license in Distribution builds, and disable most packages by default in MinSizeRel builds. 2014-01-30 09:33:20 -07:00
kestred b04ebdda98 Have package_option automatically generate option library targets instead of checking in every instance they're used. 2014-01-30 06:47:09 -07:00
kestred 995688760b In panda config, unset libraries we're not using so that they're not used as link targets. 2014-01-30 06:21:50 -07:00
kestred 8d3e7541ef Update documentation for CMake build system. 2014-01-30 05:06:11 -07:00
kestred dd817b70b8 Merge pull request #2 from kestred/config.cmake
Config.cmake
2014-01-30 03:54:45 -08:00
kestred c20f38c383 Add additional output, CG_LIBRARIES, to FindCg.cmake. 2014-01-30 04:37:48 -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
Sam Edwards 4fa6584fdf Revise AutoInclude.cmake: My version of CMake, despite being >=2.8.11, doesn't actually support CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE. 2014-01-29 14:39:15 -07:00
Sam Edwards a842133002 Build egg's lexer case-insensitve under CMake. Fixes parse errors. 2014-01-29 05:46:59 -07:00
Sam Edwards 84aad872ec Define add_flex_target CMake macro. 2014-01-27 10:10:27 -07:00
kestred 53ae0fb95b Fix FindCG to output variables in a general and expected format. 2014-01-19 14:04:18 -07:00
kestred dd495b5573 Rename FindFFTW to FindFFTW3 and comment out configuration for it. FindFFTW3 was implemented, but Panda expects FFTW2. 2014-01-19 12:07:20 -07:00
kestred 9dd82f90c2 cmake: Update readme to match current cmake variable naming scheme. 2013-12-21 19:45:12 -07:00
kestred 8cdc819344 cmake: config: Move new package macros to cmake/macros, use new package macros in Package.cmake, begin removing redundant package/config options from Package.cmake (theses are being moved to Config.cmake). 2013-12-21 19:30:53 -07:00
kestred c579f87007 cmake: Reorganize macros, and cleanup related files (add docs, etc) 2013-12-21 13:44:05 -07:00
rdb b002c8299a Work on Config.cmake (add documentation and such) 2013-12-14 17:28:51 +01:00
kestred 826979c099 CMake: Configure: Finish cleaning up finding packages. 2013-12-13 13:32:04 -07:00
kestred c7b514bc75 CMake: Configure: Begin conversion to standard CMake find package syntax. 2013-12-13 03:27:52 -07:00
kestred d1572173d3 CMake: Configure: Add XYZZY_LIBRARY(IES) variable declarations for Find packages. Other cleanup and reorginizaion. 2013-12-12 12:30:42 -07:00
kestred 4fa31ee4d6 CMake: Use option() instead of set(CACHE) 2013-12-12 10:24:39 -07:00
kestred ee06025d43 CMake: Configure: Add Freetype support. 2013-12-11 11:00:43 -07:00
kestred 150624b27d Add GTK2 support. 2013-12-11 10:53:39 -07:00
kestred a6162615d7 CMake: Configure: Add forgotten Mangle module. 2013-12-09 22:25:30 -07:00
kestred aaff5b9c4f CMake: Configure: Add OpenAL support. Typo fix in CMake README.md. 2013-12-09 12:22:54 -07:00
kestred 4ac2363673 CMake: Configure: Add a "DISCOVERED" option to configure. 2013-12-09 11:40:25 -07:00
kestred 204d88f1e1 CMake: Configure: Improve Miles Sound System detection. 2013-12-09 09:46:46 -07:00
kestred 55089fda95 CMake: Configure: Add FMOD Ex support. 2013-12-09 03:30:49 -07:00
kestred b4e19226fd CMake: Add a ToDo list for things that prone to being accidently forgotten. 2013-12-09 02:25:58 -07:00
kestred 9790c6f504 CMake: Configure: Nominally support Miles Sound System. Can't actually test it, because I don't own it. 2013-12-09 02:23:44 -07:00
kestred 6d8ba55bed CMake: Configure: Add zlib support. 2013-12-09 02:02:56 -07:00
kestred 31bb550bda CMake: Bugfix: Fix bug where Cg was not set to found properly on first-pass configuration. 2013-12-09 00:44:03 -07:00
kestred ebddd2292b CMake: Configure: Remove cruft in ConfigurePackage module. 2013-12-09 00:43:29 -07:00
kestred 693f7b39cf CMake: Configure: Add option to enable or disable all packages. 2013-12-09 00:11:39 -07:00
kestred 90e4926b94 CMake: Configure: Support VRPN. 2013-12-08 23:17:24 -07:00
kestred 6fe7b59801 CMake: Configure: Add cross-platform (openGL) Nvidia Cg support. 2013-12-08 20:59:17 -07:00
kestred d03d5125a0 CMake: Configure: Add using and finding squish library. 2013-12-07 21:09:40 -07:00
kestred a0b8deb745 CMake: Configure: Update to use the mangle_package and config_package functions. 2013-11-30 02:28:59 -07:00
kestred 1dc12b6ea1 CMake: Configure: Implement config_package and mangle_package functions with test-case uses. 2013-11-30 02:17:10 -07:00
kestred b44101819c CMake: Configure: Update config vars with USE_<PACKAGE> variables for each package that allow toggling of individual packages. 2013-11-30 01:03:08 -07:00
kestred 8abd710616 CMake: Configure: Add fftw support. 2013-11-29 02:14:00 -07:00
kestred 57b2079a3f CMake: Modules: Cleanup FindEigen2/3 and use a consistent format with that of FindTar.cmake. 2013-11-29 01:38:01 -07:00
kestred 67be41a672 CMake: Configure: Add libtar support. First custom Find module. 2013-11-29 01:21:14 -07:00
kestred df87842516 CMake: Libraries: Update other Manglers to cleanup properly. 2013-11-29 00:48:28 -07:00
kestred b21b31dffd CMake: Libraries: Add TIFF. 2013-11-29 00:48:08 -07:00
kestred 71889acb88 CMake: Begin implementing library detection and configuration. 2013-11-29 00:29:29 -07:00