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)
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)
# Command line option to enable or disable building minizip. Minizip
......@@ -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.
# 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)
# Set default flags for Release build.
set(CMAKE_C_FLAGS_RELEASE "-Wall -O2 -DNDEBUG")
......@@ -35,7 +33,7 @@ if(UNIX)
else(APPLE)
# Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line.
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_DATA share/kicad CACHE PATH "Location of KiCad data files.")
set(KICAD_DOCS share/doc/kicad CACHE PATH "Location of KiCad documentation files.")
......@@ -45,15 +43,18 @@ endif(UNIX)
if(WIN32)
# Like all variables, CMAKE_INSTALL_PREFIX can be over-ridden on the command line.
set(CMAKE_INSTALL_PREFIX c:/kicad CACHE PATH "")
# When used later, "winexe" and others with no leading / is relative to CMAKE_INSTALL_PREFIX.
set(KICAD_PLUGINS ${KICAD_BIN}/plugins)
# Everything without leading / is relative to CMAKE_INSTALL_PREFIX.
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_DOCS doc)
set(KICAD_DOCS doc CACHE PATH "Location of KiCad documentation files.")
endif(WIN32)
set(KICAD_DEMOS ${KICAD_DATA}/demos)
set(KICAD_INTERNAT ${KICAD_DATA}/internat)
set(KICAD_TEMPLATE ${KICAD_DATA}/template)
set(KICAD_DEMOS ${KICAD_DATA}/demos CACHE PATH "Location of KiCad demo files.")
set(KICAD_INTERNAT ${KICAD_DATA}/internat CACHE PATH "Location of KiCad i18n files.")
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)
if(OPENGL_FOUND)
......@@ -93,8 +94,8 @@ include_directories(
# CMake will look in these dirs for nested 'CMakeLists.txt' files.
# Binaries.
add_subdirectory(common)
add_subdirectory(3d-viewer)
add_subdirectory(common)
add_subdirectory(cvpcb)
add_subdirectory(eeschema)
add_subdirectory(gerbview)
......@@ -106,12 +107,16 @@ add_subdirectory(demos)
add_subdirectory(internat)
add_subdirectory(template)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/install.txt DESTINATION ${KICAD_DOCS} COMPONENT resources)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/freeroute.jnlp DESTINATION ${KICAD_BIN} COMPONENT resources)
install(FILES install.txt DESTINATION ${KICAD_DOCS}
COMPONENT resources)
install(FILES freeroute.jnlp DESTINATION ${KICAD_BIN}
COMPONENT resources)
if(UNIX)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/share/kicad.desktop
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications COMPONENT resources)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/bitmaps/kicad.png
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps COMPONENT resources)
install(FILES share/kicad.desktop
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications
COMPONENT resources)
install(FILES bitmaps/kicad.png
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps
COMPONENT resources)
endif(UNIX)
......@@ -74,6 +74,7 @@ endif(APPLE)
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
pic_programmer "sonde xilinx" video
DESTINATION ${KICAD_DEMOS} COMPONENT resources
DESTINATION ${KICAD_DEMOS}
COMPONENT resources
PATTERN ".svn" EXCLUDE)
......@@ -122,6 +122,7 @@ add_executable(eeschema WIN32 MACOSX_BUNDLE ${EESCHEMA_SRCS} ${EESCHEMA_EXTRA_SR
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)
......@@ -4,4 +4,5 @@ endif(UNIX)
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)
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
DESTINATION ${KICAD_INTERNAT} COMPONENT resources
PATTERN ".svn" EXCLUDE PATTERN "*.po" EXCLUDE)
DESTINATION ${KICAD_INTERNAT}
COMPONENT resources
PATTERN ".svn" EXCLUDE
PATTERN "*.po" EXCLUDE)
......@@ -33,7 +33,8 @@ add_executable(kicad WIN32 MACOSX_BUNDLE ${KICAD_SRCS} ${KICAD_EXTRA_SRCS} ${KIC
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)
add_subdirectory(minizip)
......
......@@ -21,4 +21,5 @@ add_executable(minizip ${MINIZIP_SRCS})
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)
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.
add_executable(dsntest EXCLUDE_FROM_ALL dsn.cpp)
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.
add_executable(specctra_test EXCLUDE_FROM_ALL specctra.cpp dsn.cpp)
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
DESTINATION ${KICAD_TEMPLATE} COMPONENT resources)
install(FILES kicad.pro DESTINATION ${KICAD_TEMPLATE}
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