kicad-source/cvpcb/CMakeLists.txt
Wayne Stambaugh 61b4f8a9eb Pcbnew NETLIST_READER improvements.
* Create separate NETLIST object to hold contents of netlist files.
* Read entire netlist and footprint link files before making applying
  changes to board.
* Add BOARD::ReplaceNetlist() function to eliminate the calls between the
  NETLIST_READER, PCB_EDIT_FRAME, and BOARD objects.
* Change placement of new components below the center of the current board
  or in the center of the page if the BOARD is empty.
* Add dry run option to netlist dialog to print changes to message control
  without making changes.
* Add button to netlist dialog to allow saving contents of message control
  to a file.
* Eliminate the need to compile netlist_reader_*.cpp in both CvPcb and Pcbnew.
* Add netlist_reader_*.cpp to the pcbcommon library.
* Remove redundant load component link file code from CvPcb.
* Modify CvPcb new to work with the new NETLIST_READER object.
* Add compare() function and < and == operators to FPID object.
* Add REPORTER class to hide an underlying string writing implementation for
  use in low level objects.  Thank you Dick for the idea.
* Lots of minor coding policy, Doxygen comment, and missing license fixes.
2013-04-25 12:29:35 -04:00

110 lines
2.2 KiB
CMake

add_definitions(-DCVPCB)
###
# Includes
###
include_directories(BEFORE ${INC_BEFORE})
include_directories(
./dialogs
${Boost_INCLUDE_DIR}
../3d-viewer
../pcbnew
../polygon
../common
${INC_AFTER}
)
###
# Sources
###
set(CVPCB_DIALOGS
dialogs/dialog_cvpcb_config.cpp
dialogs/dialog_cvpcb_config_fbp.cpp
dialogs/dialog_display_options.cpp
dialogs/dialog_display_options_base.cpp
)
set(CVPCB_SRCS
../common/base_units.cpp
../pcbnew/class_drc_item.cpp
autosel.cpp
cfg.cpp
class_components_listbox.cpp
class_DisplayFootprintsFrame.cpp
class_footprints_listbox.cpp
cvframe.cpp
cvpcb.cpp
listboxes.cpp
loadcmp.cpp
menubar.cpp
readschematicnetlist.cpp
read_write_cmpfile.cpp
readwrite_dlgs.cpp
setvisu.cpp
tool_cvpcb.cpp
)
###
# Windows resource file
###
if(WIN32)
if(MINGW)
# CVPCB_RESOURCES variable is set by the macro.
mingw_resource_compiler(cvpcb)
else(MINGW)
set(CVPCB_RESOURCES cvpcb.rc)
endif(MINGW)
endif(WIN32)
###
# Apple resource files
###
if(APPLE)
set(CVPCB_RESOURCES cvpcb.icns cvpcb_doc.icns)
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/cvpcb.icns"
PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/cvpcb_doc.icns"
PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
set(MACOSX_BUNDLE_ICON_FILE cvpcb.icns)
set(MACOSX_BUNDLE_GUI_IDENTIFIER org.kicad-eda.cvpcb)
endif(APPLE)
###
# Create the cvpcb executable
###
add_executable(cvpcb WIN32 MACOSX_BUNDLE
${CVPCB_SRCS}
${CVPCB_DIALOGS}
${CVPCB_RESOURCES}
)
###
# Set properties for APPLE on cvpcb target
###
if(APPLE)
set_target_properties(cvpcb PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist)
endif(APPLE)
###
# Link executable target cvpcb with correct libraries
###
target_link_libraries(cvpcb
3d-viewer
pcbcommon
pcad2kicadpcb
common
bitmaps
polygon
${wxWidgets_LIBRARIES}
${OPENGL_LIBRARIES}
${GDI_PLUS_LIBRARIES}
)
###
# Add cvpcb as install target
###
install(TARGETS cvpcb
DESTINATION ${KICAD_BIN}
COMPONENT binary)