Commit 3e06ab44 authored by f3nix's avatar f3nix

CMake cleanup.

parent 4ca2072a
# Our project is called 'kicad'. This is what it will be called in
# our makefiles.
project(kicad) project(kicad)
cmake_minimum_required(VERSION 2.4.6 FATAL_ERROR) cmake_minimum_required(VERSION 2.4.6 FATAL_ERROR)
# Path to local CMake modules # Path to local CMake modules.
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
# Command line option to enable or disable building minizip. Minizip # Command line option to enable or disable building minizip. Minizip
...@@ -15,7 +13,7 @@ option(KICAD_MINIZIP "enable/disable building minizip (default ON)" ON) ...@@ -15,7 +13,7 @@ option(KICAD_MINIZIP "enable/disable building minizip (default ON)" ON)
# Comment this out if you don't want to build with Python support. # Comment this out if you don't want to build with Python support.
# OPTION(KICAD_PYTHON "enable/disable building with Python support (default OFF)") # OPTION(KICAD_PYTHON "enable/disable building with Python support (default OFF)")
# Set flags for GNU compilers. # Set flags for GCC.
if(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_COMPILER_IS_GNUCXX)
# Set default flags for Release build. # Set default flags for Release build.
set(CMAKE_C_FLAGS_RELEASE "-Wall -O2 -DNDEBUG") set(CMAKE_C_FLAGS_RELEASE "-Wall -O2 -DNDEBUG")
...@@ -35,7 +33,7 @@ if(UNIX) ...@@ -35,7 +33,7 @@ if(UNIX)
else(APPLE) else(APPLE)
# Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line. # Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line.
set(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "") set(CMAKE_INSTALL_PREFIX /usr/local CACHE PATH "")
# When used later, "bin" and others with no leading / is relative to CMAKE_INSTALL_PREFIX. # Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
set(KICAD_PLUGINS lib/kicad/plugins CACHE PATH "Location of KiCad plugins.") set(KICAD_PLUGINS lib/kicad/plugins CACHE PATH "Location of KiCad plugins.")
set(KICAD_DATA share/kicad CACHE PATH "Location of KiCad data files.") set(KICAD_DATA share/kicad CACHE PATH "Location of KiCad data files.")
set(KICAD_DOCS share/doc/kicad CACHE PATH "Location of KiCad documentation files.") set(KICAD_DOCS share/doc/kicad CACHE PATH "Location of KiCad documentation files.")
...@@ -45,15 +43,18 @@ endif(UNIX) ...@@ -45,15 +43,18 @@ endif(UNIX)
if(WIN32) if(WIN32)
# Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line. # Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line.
set(CMAKE_INSTALL_PREFIX c:/kicad CACHE PATH "") set(CMAKE_INSTALL_PREFIX c:/kicad CACHE PATH "")
# When used later, "winexe" and others with no leading / is relative to CMAKE_INSTALL_PREFIX. # Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
set(KICAD_PLUGINS ${KICAD_BIN}/plugins) set(KICAD_PLUGINS ${KICAD_BIN}/plugins CACHE PATH "Location of KiCad plugins.")
set(KICAD_DATA share CACHE PATH "Location of KiCad data files.") set(KICAD_DATA share CACHE PATH "Location of KiCad data files.")
set(KICAD_DOCS doc) set(KICAD_DOCS doc CACHE PATH "Location of KiCad documentation files.")
endif(WIN32) endif(WIN32)
set(KICAD_DEMOS ${KICAD_DATA}/demos) set(KICAD_DEMOS ${KICAD_DATA}/demos CACHE PATH "Location of KiCad demo files.")
set(KICAD_INTERNAT ${KICAD_DATA}/internat) set(KICAD_INTERNAT ${KICAD_DATA}/internat CACHE PATH "Location of KiCad i18n files.")
set(KICAD_TEMPLATE ${KICAD_DATA}/template) set(KICAD_TEMPLATE ${KICAD_DATA}/template CACHE PATH "Location of KiCad template files.")
mark_as_advanced(KICAD_BIN KICAD_PLUGINS KICAD_DATA KICAD_DOCS
KICAD_DEMOS KICAD_INTERNAT KICAD_TEMPLATE)
find_package(OpenGL) find_package(OpenGL)
if(OPENGL_FOUND) if(OPENGL_FOUND)
...@@ -93,8 +94,8 @@ include_directories( ...@@ -93,8 +94,8 @@ include_directories(
# CMake will look in these dirs for nested 'CMakeLists.txt' files. # CMake will look in these dirs for nested 'CMakeLists.txt' files.
# Binaries. # Binaries.
add_subdirectory(common)
add_subdirectory(3d-viewer) add_subdirectory(3d-viewer)
add_subdirectory(common)
add_subdirectory(cvpcb) add_subdirectory(cvpcb)
add_subdirectory(eeschema) add_subdirectory(eeschema)
add_subdirectory(gerbview) add_subdirectory(gerbview)
...@@ -106,12 +107,16 @@ add_subdirectory(demos) ...@@ -106,12 +107,16 @@ add_subdirectory(demos)
add_subdirectory(internat) add_subdirectory(internat)
add_subdirectory(template) add_subdirectory(template)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/install.txt DESTINATION ${KICAD_DOCS} COMPONENT resources) install(FILES install.txt DESTINATION ${KICAD_DOCS}
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/freeroute.jnlp DESTINATION ${KICAD_BIN} COMPONENT resources) COMPONENT resources)
install(FILES freeroute.jnlp DESTINATION ${KICAD_BIN}
COMPONENT resources)
if(UNIX) if(UNIX)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/share/kicad.desktop install(FILES share/kicad.desktop
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications COMPONENT resources) DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bitmaps/kicad.png COMPONENT resources)
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps COMPONENT resources) install(FILES bitmaps/kicad.png
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps
COMPONENT resources)
endif(UNIX) endif(UNIX)
...@@ -74,6 +74,7 @@ endif(APPLE) ...@@ -74,6 +74,7 @@ endif(APPLE)
add_executable(cvpcb WIN32 MACOSX_BUNDLE ${CVPCB_SRCS} ${CVPCB_EXTRA_SRCS} ${CVPCB_RESOURCES}) add_executable(cvpcb WIN32 MACOSX_BUNDLE ${CVPCB_SRCS} ${CVPCB_EXTRA_SRCS} ${CVPCB_RESOURCES})
target_link_libraries(cvpcb common 3d-viewer polygon ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES}) target_link_libraries(cvpcb 3d-viewer common polygon ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES})
install(TARGETS cvpcb RUNTIME DESTINATION ${KICAD_BIN} COMPONENT binary) install(TARGETS cvpcb RUNTIME DESTINATION ${KICAD_BIN}
COMPONENT binary)
install(DIRECTORY electric microwave pspice test_xil_95108 ecc83 interf_u install(DIRECTORY electric microwave pspice test_xil_95108 ecc83 interf_u
pic_programmer "sonde xilinx" video pic_programmer "sonde xilinx" video
DESTINATION ${KICAD_DEMOS} COMPONENT resources DESTINATION ${KICAD_DEMOS}
COMPONENT resources
PATTERN ".svn" EXCLUDE) PATTERN ".svn" EXCLUDE)
...@@ -122,6 +122,7 @@ add_executable(eeschema WIN32 MACOSX_BUNDLE ${EESCHEMA_SRCS} ${EESCHEMA_EXTRA_SR ...@@ -122,6 +122,7 @@ add_executable(eeschema WIN32 MACOSX_BUNDLE ${EESCHEMA_SRCS} ${EESCHEMA_EXTRA_SR
target_link_libraries(eeschema common ${wxWidgets_LIBRARIES}) target_link_libraries(eeschema common ${wxWidgets_LIBRARIES})
install(TARGETS eeschema RUNTIME DESTINATION ${KICAD_BIN} COMPONENT binary) install(TARGETS eeschema RUNTIME DESTINATION ${KICAD_BIN}
COMPONENT binary)
add_subdirectory(plugins) add_subdirectory(plugins)
...@@ -4,4 +4,5 @@ endif(UNIX) ...@@ -4,4 +4,5 @@ endif(UNIX)
add_executable(netlist_form_pads-pcb netlist_form_pads-pcb.cpp) add_executable(netlist_form_pads-pcb netlist_form_pads-pcb.cpp)
install(TARGETS netlist_form_pads-pcb RUNTIME DESTINATION ${KICAD_PLUGINS} COMPONENT binary) install(TARGETS netlist_form_pads-pcb RUNTIME DESTINATION ${KICAD_PLUGINS}
COMPONENT binary)
...@@ -76,6 +76,7 @@ endif(APPLE) ...@@ -76,6 +76,7 @@ endif(APPLE)
add_executable(gerbview WIN32 MACOSX_BUNDLE ${GERBVIEW_SRCS} ${GERBVIEW_EXTRA_SRCS} ${GERBVIEW_RESOURCES}) add_executable(gerbview WIN32 MACOSX_BUNDLE ${GERBVIEW_SRCS} ${GERBVIEW_EXTRA_SRCS} ${GERBVIEW_RESOURCES})
target_link_libraries(gerbview common 3d-viewer polygon ${wxWidgets_LIBRARIES}) target_link_libraries(gerbview 3d-viewer common polygon ${wxWidgets_LIBRARIES})
install(TARGETS gerbview RUNTIME DESTINATION ${KICAD_BIN} COMPONENT binary) install(TARGETS gerbview RUNTIME DESTINATION ${KICAD_BIN}
COMPONENT binary)
install(DIRECTORY ca cs de es fr hu it ko pl pt ru sl sv zh_CN install(DIRECTORY ca cs de es fr hu it ko pl pt ru sl sv zh_CN
DESTINATION ${KICAD_INTERNAT} COMPONENT resources DESTINATION ${KICAD_INTERNAT}
PATTERN ".svn" EXCLUDE PATTERN "*.po" EXCLUDE) COMPONENT resources
PATTERN ".svn" EXCLUDE
PATTERN "*.po" EXCLUDE)
...@@ -33,7 +33,8 @@ add_executable(kicad WIN32 MACOSX_BUNDLE ${KICAD_SRCS} ${KICAD_EXTRA_SRCS} ${KIC ...@@ -33,7 +33,8 @@ add_executable(kicad WIN32 MACOSX_BUNDLE ${KICAD_SRCS} ${KICAD_EXTRA_SRCS} ${KIC
target_link_libraries(kicad common ${wxWidgets_LIBRARIES}) target_link_libraries(kicad common ${wxWidgets_LIBRARIES})
install(TARGETS kicad RUNTIME DESTINATION ${KICAD_BIN} COMPONENT binary) install(TARGETS kicad RUNTIME DESTINATION ${KICAD_BIN}
COMPONENT binary)
if(KICAD_MINIZIP) if(KICAD_MINIZIP)
add_subdirectory(minizip) add_subdirectory(minizip)
......
...@@ -21,4 +21,5 @@ add_executable(minizip ${MINIZIP_SRCS}) ...@@ -21,4 +21,5 @@ add_executable(minizip ${MINIZIP_SRCS})
target_link_libraries(minizip ${ZLIB_LIBRARIES}) target_link_libraries(minizip ${ZLIB_LIBRARIES})
install(TARGETS minizip RUNTIME DESTINATION bin COMPONENT binary) install(TARGETS minizip RUNTIME DESTINATION ${KICAD_BIN}
COMPONENT binary)
...@@ -167,6 +167,12 @@ endif(APPLE) ...@@ -167,6 +167,12 @@ endif(APPLE)
add_executable(pcbnew WIN32 MACOSX_BUNDLE ${PCBNEW_SRCS} ${PCBNEW_EXTRA_SRCS} ${PCBNEW_RESOURCES}) add_executable(pcbnew WIN32 MACOSX_BUNDLE ${PCBNEW_SRCS} ${PCBNEW_EXTRA_SRCS} ${PCBNEW_RESOURCES})
target_link_libraries(pcbnew 3d-viewer common polygon ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES})
install(TARGETS pcbnew RUNTIME DESTINATION ${KICAD_BIN}
COMPONENT binary)
# This one gets made only when testing. # This one gets made only when testing.
add_executable(dsntest EXCLUDE_FROM_ALL dsn.cpp) add_executable(dsntest EXCLUDE_FROM_ALL dsn.cpp)
target_link_libraries(dsntest common ${wxWidgets_LIBRARIES}) target_link_libraries(dsntest common ${wxWidgets_LIBRARIES})
...@@ -174,8 +180,3 @@ target_link_libraries(dsntest common ${wxWidgets_LIBRARIES}) ...@@ -174,8 +180,3 @@ target_link_libraries(dsntest common ${wxWidgets_LIBRARIES})
# This one gets made only when testing. # This one gets made only when testing.
add_executable(specctra_test EXCLUDE_FROM_ALL specctra.cpp dsn.cpp) add_executable(specctra_test EXCLUDE_FROM_ALL specctra.cpp dsn.cpp)
target_link_libraries(specctra_test common ${wxWidgets_LIBRARIES}) target_link_libraries(specctra_test common ${wxWidgets_LIBRARIES})
target_link_libraries(pcbnew common 3d-viewer polygon ${wxWidgets_LIBRARIES} ${OPENGL_LIBRARIES})
install(TARGETS pcbnew RUNTIME DESTINATION ${KICAD_BIN} COMPONENT binary)
install(FILES kicad.pro install(FILES kicad.pro DESTINATION ${KICAD_TEMPLATE}
DESTINATION ${KICAD_TEMPLATE} COMPONENT resources) COMPONENT resources)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment