Commit Graph

276 Commits

Author SHA1 Message Date
Simon Richter ff99b51b7d FindwxWidgets.cmake: Report failure of wx-config when looking for components 2016-02-15 18:50:49 +01:00
Simon Richter 4c29843813 FindwxWidgets.cmake: Use ENV foo rather than ENV{foo} 2016-02-15 18:50:49 +01:00
Simon Richter 9d08d93c26 FindwxWidgets.cmake: Add comment describing code block 2016-02-15 18:50:49 +01:00
Simon Richter 380bb37931 FindwxWidgets.cmake: Reformat documentation 2016-02-15 18:50:49 +01:00
Simon Richter c109abb87e FindwxWidgets.cmake: Do not explicitly declare FOUND_VAR, unnecessary 2016-02-15 18:50:49 +01:00
Simon Richter 801611fad8 FindwxWidgets.cmake: Drop nonsensical assignment
No idea where that came from, but it is almost certainly an error.
2016-02-15 18:50:48 +01:00
Simon Richter f7d8a412cf FindwxWidgets.cmake: Determine version even when not asked to 2016-02-15 18:50:48 +01:00
Simon Richter 029a3ba61e FindwxWidgets.cmake: Improve regex for version number matches 2016-02-15 18:50:48 +01:00
Simon Richter 2f1bbdc0f3 FindwxWidgets.cmake: Simplify MATCHES
Arbitrary characters at beginning and end of the line are implicitly allowed anyway
2016-02-15 18:50:48 +01:00
Simon Richter ea4c8c546f FindwxWidgets.cmake: Expect directory layout for MSVC 64 bit
On 64 bit MSVC, the DLLs and import libraries are placed in a directory
called vc_x64, to allow parallel installation of 32 and 64 bit wxWidgets.
2016-02-15 18:50:48 +01:00
Simon Richter 51a1588456 FindwxWidgets.cmake: documentation for variables 2016-02-15 18:50:48 +01:00
Simon Richter bbd0c539e9 FindwxWidgets.cmake: Look for versioned wx-config scripts 2016-02-15 18:50:48 +01:00
Simon Richter bc480a010b FindwxWidgets.cmake: Fix indentation 2016-02-15 18:50:48 +01:00
Simon Richter 38359272c4 FindwxWidgets.cmake: Show line number in debug output 2016-02-15 18:50:48 +01:00
Simon Richter 9ff394e72a FindwxWidgets.cmake: Treat CygWin as unix rather than undefined 2016-02-15 18:50:48 +01:00
Simon Richter b66a584a8a FindwxWidgets.cmake: Use lowercase for CMake builtins 2016-02-15 18:50:48 +01:00
Simon Richter 6a7fa8950c FindwxWidgets.cmake: Use uppercase for macro names 2016-02-15 18:50:47 +01:00
Simon Richter 78a0316a08 FindwxWidgets.cmake: Use uppercase for DBG_MSG macro 2016-02-15 18:50:47 +01:00
Simon Richter b7adcb3728 FindwxWidgets.cmake: drop a few dbg_msg invocations 2016-02-15 18:48:40 +01:00
Simon Richter 86d072b5d1 FindwxWidgets.cmake: Remove arguments from else() and end*()
To reduce differences with upstream FindwxWidgets.cmake, use their style of
ending blocks.
2016-02-15 18:48:40 +01:00
Wayne Stambaugh f15af3ac8d Restore FindOpenSSL.cmake, the cmake version does not work on MinGW. 2016-01-14 10:31:59 -05:00
Wayne Stambaugh 99ba5259a6 Undo commit r6456 which completely breaks building on MSYS2/MingGW. 2016-01-12 21:50:18 -05:00
Simon Richter b09c88042b Synchronize FindwxWidgets.cmake with CMake project 2016-01-12 20:33:13 -05:00
Simon Wells 9362a6ec24 Update FindwxWidgets.cmake to new version without -isystem
See: https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4d05f195
2016-01-11 17:15:48 -05:00
Chris Pavlina 020ba521df Remove FindOpenSSL.cmake (not used since removing avhttp) 2016-01-10 19:47:30 -05:00
Wayne Stambaugh ff924f6983 Remove download_avhttp.cmake and avhttp source archive. 2016-01-03 18:55:42 -05:00
Wayne Stambaugh c751bf60bc Remove Boost library building and other build improvements.
* Remove download and build Boost from source and all CMake boost source build
  dependencies.
* Make FindCairo.cmake use pkg-config when it's available not just all
  platforms except windows.
* Add version checking to FindCairo.cmake.
* Change find GML version to 0.9.5.1 which is the current version in Ubuntu
  14.04 LTS.
* Update required Cairo version to 1.12.1.
2016-01-03 15:33:09 -05:00
Wayne Stambaugh 204f025ff4 Build configuration fixes.
* Fix broken include path in FindGLM.cmake ( credit Cirilo Bernardo ).
* Fix if()/endif() warning in FindGLM.cmake.
* Remove trailing white space in FindGLM.cmake.
* Fix bug introduced in r6363 that inadvertently made OpenMP a required
  dependency instead of an optional dependency.
* Remove quiet flag for FindOpenMP to report findings.
2015-12-10 11:35:43 -05:00
Simon Richter 32d4dae5ef CMake: use CMake's position independent code handling.
* Bump minimum CMake revision to 2.8.12.  The CMake position independent code
  handling was introduced in CMake 2.8.9 but 2.8.12 is current version in
  Ubuntu 14.04 LTS which is a very popular distro.
* CMake provides a simple declarative statement to enable PIC, so no compiler
  dependent handling is required.
* There is also no need to tell Boost to build with -fPIC, their build system
  is smart enough.
2015-12-08 09:17:23 -05:00
jean-pierre charras 256e47c00f Commit missing file FindGLM.cmake 2015-12-08 11:52:09 +01:00
Simon Richter 2869c9f49a CMake: use visibility definitions in provided by CMake when available.
CMake 3.0 defines two new variables:

 * CMAKE_CXX_VISIBILITY_PRESET and
 * CMAKE_VISIBILITY_INLINES_HIDDEN

to control whether symbols not explicitly tagged for export are implicitly
exported.  Because only version 3.3 and later also applies that to static
libraries when in 3.3 mode, compatibility code is added as well.

When the minimum required version is bumped to 3.3, this code becomes
obsolete and a warning is displayed that the compatibility code should be
removed as well.
2015-12-07 16:46:18 -05:00
Wayne Stambaugh b04f18b245 CMake: remove OpenSSL download and build dependency code.
* Removed some left over OSX_DEP_BUILDER code missed in my previous commit.
2015-12-03 10:59:02 -05:00
Wayne Stambaugh 6f5a49bb60 Remove OSX dependency builder code from CMake files.
* Remove USE_OSX_DEPS_BUILDER option.
* Remove all download_foo.cmake files used by the OSX dependency builder.
2015-12-01 09:44:40 -05:00
jean-pierre charras 9dc5bc4c66 Rename the automatically generated version.h to kicad_build_version.h as a workaround to an issue in msys2: for a very obscure reason, version.h was added as dependency to most of .cpp files. 2015-11-24 11:05:34 +01:00
Wayne Stambaugh 463b8b4127 Revert changes to CreateGitVersionHeader.cmake that were causing configuration issues. 2015-09-14 08:45:25 -04:00
Joseph Chen c890abe08a Improve git generated KiCad version string. 2015-09-13 14:04:40 -04:00
Nick Østergaard af1f3c9b49 Add git build version header support.
* Add CreateGitVersionHeader.cmake to extract git version information to create the kicad version
  header.
* Add check for .git folder in source path to trigger git version CMake macro.
2015-07-12 20:06:50 -04:00
Wayne Stambaugh 5ddc9b378b Correctly fix version header generation to be rebuilt during make.
* Use CMake add_custom_target() to run WriteVersionHeader.cmake as a command.
* Modify WriteVersionHeader.cmake to be run as a command instead of a macro.
* Add version header creation as a CMake common library build dependency.
* Add cached CMake variable KICAD_BUILD_VERSION when build version is defined during
  configuration.
2015-07-10 14:47:59 -04:00
Wayne Stambaugh 94ad141570 Actually remove file CMakeModules/version.h.cmake forgotten in previous commit. 2015-07-05 15:27:00 -04:00
Wayne Stambaugh 9d69b73b85 Minor version string generation changes.
* Fix CMake macro create_bzr_version_header to always update version.h file whenever a repo change
  is found.  Running `make rebuild_cache is no longer required.
* Add new CMake function for writing version.h file.
* Always use version.h file for build version string instead of meaningless hard coded date.
* Only use bzr version string when build version is not defined at configuration time for stable release
  version strings.
* Minor cleanup of FindBazaar.cmake.
* Remove unnecessary version.h.cmake file.
2015-07-05 15:24:34 -04:00
Nicolas PLANEL 9349158d02 Add missing CXX check : HAVE_STRCASECMP, HAVE_STRNCASECMP on string.h
This issue appear with clang++ -O1 -fsanitize=address compiler
2015-06-11 22:14:05 -04:00
Simon Richter 89699a193a Fix typo in FindOpenSSL.cmake 2015-04-29 12:50:16 -04:00
Wayne Stambaugh 4274f2d5d5 Fix config.h default data install path assignment during configuration.
* Remove redundant definition of KICAD_DATA_PATH since DEFAULT_INSTALL_PATH
  was already defined.
* Use DEFAULT_INSTALL_PATH as the substitution for the default environment
  variable paths.
* Add option to define DEFAULT_INSTALL_PATH during CMake configuration with
  fall back to CMAKE_INSTALL_PREFIX if not not defined.
* Developer note: this change is primarily for package builders where
  CMAKE_INSTALL_PATH is the path where the package builder temporarily
  installs the build output before creating the package.  When building
  packages, DEFAULT_INSTALL_PATH should be set to the path where the
  package will be installed by default.
2015-04-08 13:27:04 -04:00
unknown b3b791961a coverity common folder fixes (mainly not initialized members). 2015-03-11 17:04:20 +01:00
Wayne Stambaugh d13912c26a Fix bug in gEDA footprint library parser and OpenSSL version CMake file. (fixes lp:1427917)
* Fixed incorrect parameter ordering in gEDA footprint library parser
  which read drill diameter, pad clearance and solder mask clearance.
* Fix FindOpenSSL.cmake version detect bug which was exposed by OpenSSL
  version 1.0.2.
2015-03-04 14:46:06 -05:00
Bernhard Stegmaier 30acc07e11 Default path fixes and remove old to find 3D model path code.
* Fix default KISYSMOD/KISYS3DMOD (#ifdef typo) for OSX builds.
* Remove setting KIGITHUB from kicad/pcbnew Info.plist in favor of hardcoded default
  setting for OSX builds.
* Remove now unneeded Set3DShapesDefaultPath() and other small things.
2015-02-27 08:34:02 -05:00
Wayne Stambaugh 04c55f0956 wxPython configuration fixes.
* Add support for setting python site package path to PYTHON_SITE_PACKAGE_PATH.
* Move configure_file() so WXPYTHON_VERSION is already initialized before creating
  config.h (Duh!).
* Add status message to indicate the version of wxPython found.
2015-02-18 20:47:34 -05:00
Wayne Stambaugh 69553d6fa3 wxPython find and version loading fixes. (fixes lp:1408060)
* Add test to CMakeLists.txt to verify wxPython is installed when
  KICAD_SCRIPTING_WXPYTHON=ON.
* Add test to make sure wxPython version major and minor numbers match
  the version of wxWidgets found.
* Add code to set the correct version of wxPython to the python scripting
  initialization code.
* Minor code simplification in Pcbnew KIFACE main window creation.
2015-02-14 19:23:54 -05:00
Wayne Stambaugh bd199b894e Set default footprint library table and 3D model library environment variables. 2015-02-03 15:42:33 -05:00
jean-pierre charras 8412f2ad4e ModEdit: add a settings menu option(and the corresponding dialog) to set default values used when creating a footprint or add graphic items to a footprint being edited.
These settings are now not common to the board editor, because the footprint editor can be run outside the board editor.
download_boost.cmake: ignore  .htm* files when installing boost. They are not used, and often have a very very long (and stupid) name which sometimes creates issues.
2015-01-30 19:42:46 +01:00
Wayne Stambaugh 4a95880be9 Fix FindOpenSSL.cmake version string regex breakage in OpenSSL 1.0.2. 2015-01-27 09:24:46 -05:00
Wayne Stambaugh 7ec906a373 Fix variable naming bug causing the bzr version to be dropped in FindBazaar.cmake. 2015-01-16 09:14:51 -05:00
Wayne Stambaugh 614c8e45c8 Fix paths and hints variable naming bug in FindOpenSSL.cmake. 2014-12-30 14:20:33 -05:00
jean-pierre charras 9b7ef20be9 Fix install issue after removing freeroute.jnl, now useless because freeroute is no more accessible via the web.
(Kicad is still able to run freeroute if freeroute.jar is accessible)
add wxWidgets-3.0.2 folder detection in FindwxWidgets.cmake
2014-12-22 12:55:33 +01:00
jean-pierre charras 7231dd362c FindwxWidgets.cmake: fix missing webview library name in library list to analyze. this fixes missing symbols issue in winbuilder. 2014-12-22 10:31:45 +01:00
Bernhard Stegmaier b495ad0374 OSX build fixes.
* Make defintion of OSX build target a requirement.
* Update OSX build documenation to reflect build changes.
* Update OSX build script to reflect build changes.
2014-11-28 12:34:00 -05:00
Maciej Suminski 030e4795f0 Added an additional search path for GLEW (closing bug report 1247910). 2014-11-14 09:30:52 +01:00
Wayne Stambaugh 03d50b2213 Change Windows install tree to match Linux install tree.
* Move all Windows install subfolders from ${CMAKE_INSTALL_PREFIX}/share/ to
  ${CMAKE_INSTALL_PREFIX}/share/kicad/.
* Remove unused define DEFAULT_FP_LIB_PATH from build configuration.
* Remove Boost target when skipping internal Boost build.
* Update INSTALL.txt to reflect install tree changes.
2014-10-31 16:44:09 -04:00
Brian Sidebotham e4a5f2482e * Fix FindPythonLibs to search /include/ for Python.h 2014-10-25 21:56:44 +01:00
Wayne Stambaugh d3b4d535a1 Fix build issues on MinGW when finding OpenSSL.
* Add FindOpenSSL.cmake from CMake 3.0.2.
* Change MinGW find library to find libssl and libcrypto as well as libeay32 and ssleay32.  Apparently
 at some point OpenSSL changed the library file names for MinGW.
* Stop find_library() from looking in system paths and returning the actual DLLs rather than the link
  libraries.
2014-10-24 17:06:50 -04:00
Wayne Stambaugh 3ee0c98c9f Restore custom FindPythonLibs.cmake with improvements to fix MSYS2 bug. 2014-10-24 11:28:07 -04:00
Wayne Stambaugh fa9f2f0439 Fix MSYS2 build configuration issues. 2014-10-19 14:36:41 -04:00
Wayne Stambaugh 716613b7da Actually make FindPythonInterp.cmake use correct FindPackageHandleStandardArgs.cmake. 2014-10-11 17:50:18 -04:00
Wayne Stambaugh 655703ccc8 CMake housekeeping.
* Remove CMakeParseArguments.cmake to use the version that ships with CMake.
* Remove FindPackageHandleStandardArgs.cmake to use the version that ships
  with CMake.
* Remove FindPythonLibs.cmake to use the version that ships with CMake.
* Edit FindPythonInterp.cmake to use the stock CMake version of
  FindPackageHandleStandardArgs.cmake since the local version was removed.
2014-10-11 17:22:50 -04:00
Wayne Stambaugh 21ca86573f Fix a minor bug in FindwxWidgets.cmake version.h path search. 2014-09-30 18:43:20 -04:00
Wayne Stambaugh 92d141a846 Fix FindPackageHandleStandardArgs.cmake for differences between CMake 2 and 3. 2014-09-26 21:08:44 -04:00
Wayne Stambaugh 5598113a45 Minor build bug fixes.
* Remove ${CMAKE_CURRENT_LIST_DIR} copied FindPackageHandleStandardArgs.cmake.
* Comment out debug messages in FindwxWidgets.cmake.
2014-09-26 20:28:12 -04:00
Wayne Stambaugh ed19967099 Force wxWidgets to version 3.0.0 or later and OSX build fixes.
* Add version detection to FindwxWidgets.cmake
* Convert commands and macro names to lower case in FindwxWidgets.cmake.
* Use find_package_handle_standard_args() to handle version comparison.
* Update FindPackageHandleStandardArgs.cmake from CMake 3.0.2 to get the
  latest bug fixes.
* Add an option to ignore building every OSX dependency from source and
  use find_package() the way it is supposed to work unless the developer
  specifically requests building everything from source.
2014-09-26 17:52:56 -04:00
Wayne Stambaugh a27845e948 Fix MinGW 64 bit build buigs.
* Patch Boost interlocked.hpp from version 1.56.
* Fix segfault in Eeschema when auto save event occurs before root sheet is initialized.
* Add assertion when SCH_SHEET_PATH::BuildSheetList is called with NULL pointer.
2014-08-23 11:22:50 -04:00
Wayne Stambaugh 547524cd0a Fix bug in FindwxWidgets.cmake.
* Fix C flag parser when there is more than one flag defined after includes when
   wx-config --cflags is called.
2014-08-22 16:40:17 -04:00
jean-pierre charras 834699accb Pcbnew: fix bug #1313076 (Filled Zones on technical layers) does not show up on 3D rendering 2014-04-27 13:30:45 +02:00
Dick Hollenbeck 61fe97e666 the boost site is getting slower, somebody might need supply a better host and offer bandwidth there for downloading the boost tar. 2014-04-23 08:53:07 -05:00
jean-pierre charras 229613ef26 Cmakefiles: do not create map file on Windows, because creating map file generates hundred of useless wranings.
In PATCH_COMMAND, use patch instead of bzr patch if patch or patch.exe is found (mandatory to use msys2 because bzr patch does not work when using msys2)
2014-04-03 13:55:02 +02:00
Marco Serantoni 1c232f5608 [MacOSX] Support for kiface in bundles, workaround for some cairo issues 2014-03-22 12:35:33 +01:00
Dick Hollenbeck 6bfff89fe5 merge tip in, resolve. 2014-03-20 01:24:33 -05:00
Dick Hollenbeck 2c67c3ff80 * KIWAY Milestone A): Make major modules into DLL/DSOs.
!   The initial testing of this commit should be done using a Debug build so that
    all the wxASSERT()s are enabled.  Also, be sure and keep enabled the
    USE_KIWAY_DLLs option.  The tree won't likely build without it.  Turning it
    off is senseless anyways.  If you want stable code, go back to a prior version,
    the one tagged with "stable".

*   Relocate all functionality out of the wxApp derivative into more finely
    targeted purposes:
    a) DLL/DSO specific
    b) PROJECT specific
    c) EXE or process specific
    d) configuration file specific data
    e) configuration file manipulations functions.

    All of this functionality was blended into an extremely large wxApp derivative
    and that was incompatible with the desire to support multiple concurrently
    loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects.
    An amazing amount of organization come from simply sorting each bit of
    functionality into the proper box.

*   Switch to wxConfigBase from wxConfig everywhere except instantiation.
*   Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD,
    PGM_SINGLE_TOP,
*   Remove "Return" prefix on many function names.
*   Remove obvious comments from CMakeLists.txt files, and from else() and endif()s.
*   Fix building boost for use in a DSO on linux.
*   Remove some of the assumptions in the CMakeLists.txt files that windows had
    to be the host platform when building windows binaries.
*   Reduce the number of wxStrings being constructed at program load time via
    static construction.
*   Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that
    these functions are useful even when the wxConfigBase comes from another
    source, as is the case in the KICAD_MANAGER_FRAME.
*   Move the setting of the KIPRJMOD environment variable into class PROJECT,
    so that it can be moved into a project variable soon, and out of FP_LIB_TABLE.
*   Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all
    its child wxFrames and wxDialogs now have a Kiway() member function which
    returns a KIWAY& that that window tree branch is in support of.  This is like
    wxWindows DNA in that child windows get this member with proper value at time
    of construction.
*   Anticipate some of the needs for milestones B) and C) and make code
    adjustments now in an effort to reduce work in those milestones.
*   No testing has been done for python scripting, since milestone C) has that
    being largely reworked and re-thought-out.
2014-03-19 19:42:08 -05:00
Marco Serantoni dcea11e5cb [MacOSX] New OSX build enviroment now supported 2014-03-14 02:07:44 +01:00
Marco Serantoni 932c92af55 [MacOSX] New reorg for building system, typos and path refines 2014-02-19 22:39:21 +01:00
Marco Serantoni 2acaa2871d [MacOSX] Fixing build system, sorry guys, refining build system and make building smoother. 2014-02-08 16:15:06 +01:00
Marco Serantoni bbff6c0d30 [MacOSX] Adding patches for wxPython && http://trac.wxwidgets.org/ticket/15957 2014-02-07 23:00:19 +01:00
Marco Serantoni eb34364d89 [MacOSX] Automating building for OSX with KICAD_SCRIPTING, see Documentation/compiling/mac-osx.txt 2014-02-07 19:53:54 +01:00
Dick Hollenbeck 33e26b278d KIWAY in progress... 2014-02-03 13:26:18 -06:00
Dick Hollenbeck 4f26386e8d Initial KIWAY (modular-kicad) work. Various tweeks. 2014-02-03 09:10:37 -06:00
Marco Serantoni 786bb81c4d [MacOSX] KICAD_BUILD_DYNAMIC stabilized and almost working 2014-01-27 23:24:04 +01:00
Dick Hollenbeck 6617ce58f3 Use factored SelectLibrary() from base class. Spelling and comments. 2014-01-27 00:41:40 -06:00
Marco Serantoni 179bb920b8 [MacOSX] adding multiprocess building and initial support for KICAD_BUILD_DYNAMIC 2014-01-26 14:09:36 +01:00
Marco Serantoni dc2592238e [MacOSX] Adding wx-widgets building with patches for OSX preparing for dynamic.. 2014-01-24 22:09:31 +01:00
Marco Serantoni 7e9ab70384 [MacOSX] Fixing in the case -arch are not set with cairo 2014-01-22 19:01:36 +01:00
Dick Hollenbeck f3256a918d Increase boost download TIMEOUT to 10 minutes, offer a LOG_DOWNLOAD option for capturing download problems. 2014-01-22 07:44:02 -06:00
Dick Hollenbeck d11d92504a tugs and bugs 2014-01-21 00:59:32 -06:00
Dick Hollenbeck 8dc7189653 Add EDA_APP::setLanguageId() accessor and fix FindwxWidgets.cmake for windows cross on linux. 2014-01-20 03:33:17 -06:00
Brian Sidebotham 51e3d8943f * Fix FindwxWidgets.cmake for V3.0 wxWidgets using 'win32' style find. i.e. for MinGW native build without msys or cygwin 2014-01-09 23:13:22 +00:00
Dick Hollenbeck a8bc07c832 Add KICAD_REPO_NAME to the about dialog and build_version.cpp 2014-01-08 08:47:39 -06:00
Marco Serantoni 290a60a462 [MacOSX] Fixing STL && single processor building in pixman 2014-01-07 00:20:52 +01:00
Marco Serantoni 2c39ea00e2 [MacOSX] Added support in boost context for PPC processors, now is possible again compile kicad testing for PPC ( https://svn.boost.org/trac/boost/ticket/8266 ) 2014-01-04 03:13:18 +01:00
Dick Hollenbeck cbcf666470 force switch to boost::context, add --force option to bzr clean-tree 2014-01-03 17:17:50 -06:00
Dick Hollenbeck bfc72b0183 Add bzr clean-tree to download_boost.cmake 2013-12-31 10:58:05 -06:00
Marco Serantoni 7ffd6db5b4 [MacOSX] Manage older OpenSSL API (needed for OSX 10.6) and probably older linuxes 2013-12-31 11:45:17 +01:00
Marco Serantoni b08c85f67c [MacOSX] Removing freetype dependecy for Cairo (uses cocoa font management) 2013-12-31 11:44:16 +01:00
Dick Hollenbeck f9ab5d2c61 Add -fvisibility options to significantly reduce binary sizes.
Switch to boost::context for all platforms, almost.
Please try your platform by commenting out fcontext.s in common/CMakeLists.txt.
2013-12-30 11:53:12 -06:00