Commit c77c3906 authored by f3nix's avatar f3nix
Browse files

CMake:

* Set a NAME_RESOURCES variable in MinGWResourceCompiler.
* Fix looking for zlib under msys (C:\msys\1.0). Minizip now builds under windows with external zlib.
parent 8123d3a5
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
TODO:
TODO:
* Fix minizip build on windows.
* Add install targets for binaries and resources on Mac.
* Add install targets for binaries and resources on Mac.
* Add PYTHON.
* Add PYTHON.
* Testing.
* Testing.
+53 −0
Original line number Original line Diff line number Diff line
# - Find zlib
# Find the native ZLIB includes and library
#
#  ZLIB_INCLUDE_DIR - where to find zlib.h, etc.
#  ZLIB_LIBRARIES   - List of libraries when using zlib.
#  ZLIB_FOUND       - True if zlib found.

IF(MSYS)
  SET(ZLIB_DIR_SEARCH
    c:/msys/1.0
  )
ENDIF(MSYS)

IF (ZLIB_INCLUDE_DIR)
  # Already in cache, be silent
  SET(ZLIB_FIND_QUIETLY TRUE)
ENDIF (ZLIB_INCLUDE_DIR)

FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
  /usr/local/include
  /usr/include
  ${ZLIB_DIR_SEARCH}/local/include
)

SET(ZLIB_NAMES z zlib zdll)
FIND_LIBRARY(ZLIB_LIBRARY
  NAMES ${ZLIB_NAMES}
  PATHS /usr/lib /usr/local/lib ${ZLIB_DIR_SEARCH}/local/lib
)

IF (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
   SET(ZLIB_FOUND TRUE)
    SET( ZLIB_LIBRARIES ${ZLIB_LIBRARY} )
ELSE (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
   SET(ZLIB_FOUND FALSE)
   SET( ZLIB_LIBRARIES )
ENDIF (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)

IF (ZLIB_FOUND)
   IF (NOT ZLIB_FIND_QUIETLY)
      MESSAGE(STATUS "Found ZLIB: ${ZLIB_LIBRARY}")
   ENDIF (NOT ZLIB_FIND_QUIETLY)
ELSE (ZLIB_FOUND)
   IF (ZLIB_FIND_REQUIRED)
      MESSAGE(STATUS "Looked for Z libraries named ${ZLIBS_NAMES}.")
      MESSAGE(FATAL_ERROR "Could NOT find z library")
   ENDIF (ZLIB_FIND_REQUIRED)
ENDIF (ZLIB_FOUND)

MARK_AS_ADVANCED(
  ZLIB_LIBRARY
  ZLIB_INCLUDE_DIR
  )
+10 −0
Original line number Original line Diff line number Diff line
@@ -5,23 +5,33 @@ macro(dbg_msg _MSG)
endmacro(dbg_msg)
endmacro(dbg_msg)


macro(mingw_resource_compiler _NAME)
macro(mingw_resource_compiler _NAME)
    # Input file.
    set(_IN "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}.rc")
    set(_IN "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}.rc")
    dbg_msg("_IN: ${_IN}")
    dbg_msg("_IN: ${_IN}")


    # Output file.
    set(_OUT "${CMAKE_CURRENT_BINARY_DIR}/${_NAME}_rc.o")
    set(_OUT "${CMAKE_CURRENT_BINARY_DIR}/${_NAME}_rc.o")
    dbg_msg("_OUT: ${_OUT}")
    dbg_msg("_OUT: ${_OUT}")


    # Include directories.
    set(_WINDRES_INCLUDE_DIRS -I${CMAKE_CURRENT_SOURCE_DIR})
    set(_WINDRES_INCLUDE_DIRS -I${CMAKE_CURRENT_SOURCE_DIR})
    foreach(wx_include_dir ${wxWidgets_INCLUDE_DIRS})
    foreach(wx_include_dir ${wxWidgets_INCLUDE_DIRS})
        set(_WINDRES_INCLUDE_DIRS ${_WINDRES_INCLUDE_DIRS} -I${wx_include_dir})
        set(_WINDRES_INCLUDE_DIRS ${_WINDRES_INCLUDE_DIRS} -I${wx_include_dir})
    endforeach(wx_include_dir ${wxWidgets_INCLUDE_DIRS})
    endforeach(wx_include_dir ${wxWidgets_INCLUDE_DIRS})
    dbg_msg("_WINDRES_INCLUDE_DIRS: ${_WINDRES_INCLUDE_DIRS}")
    dbg_msg("_WINDRES_INCLUDE_DIRS: ${_WINDRES_INCLUDE_DIRS}")


    # windres.exe arguments.
    set(_ARGS ${_WINDRES_INCLUDE_DIRS} -i${_IN} -o${_OUT})
    set(_ARGS ${_WINDRES_INCLUDE_DIRS} -i${_IN} -o${_OUT})
    dbg_msg("_ARGS: ${_ARGS}")
    dbg_msg("_ARGS: ${_ARGS}")


    # Compile resource file.
    add_custom_command(OUTPUT ${_OUT}
    add_custom_command(OUTPUT ${_OUT}
        COMMAND windres.exe
        COMMAND windres.exe
        ARGS ${_ARGS}
        ARGS ${_ARGS}
        VERBATIM)
        VERBATIM)

    # Set a NAME_RESOURCES variable
    string(TOUPPER ${_NAME} _NAME_UPPER)
    set(${_NAME_UPPER}_RESOURCES ${_OUT})
    dbg_msg("${_NAME_UPPER}_RESOURCES: ${${_NAME_UPPER}_RESOURCES}")
endmacro(mingw_resource_compiler)
endmacro(mingw_resource_compiler)
+0 −1
Original line number Original line Diff line number Diff line
@@ -59,7 +59,6 @@ set(CVPCB_EXTRA_SRCS
if(WIN32)
if(WIN32)
    if(MINGW)
    if(MINGW)
        mingw_resource_compiler(cvpcb)
        mingw_resource_compiler(cvpcb)
        set(CVPCB_RESOURCES ${_OUT})
    else(MINGW)
    else(MINGW)
        set(CVPCB_RESOURCES cvpcb.rc)
        set(CVPCB_RESOURCES cvpcb.rc)
    endif(MINGW)
    endif(MINGW)
+1 −2
Original line number Original line Diff line number Diff line
@@ -14,9 +14,9 @@ set(EESCHEMA_SRCS
    bus-wire-junction.cpp
    bus-wire-junction.cpp
    class_drawsheet.cpp
    class_drawsheet.cpp
    class_hierarchical_PIN_sheet.cpp
    class_hierarchical_PIN_sheet.cpp
    class_schematic_items.cpp
    class_screen.cpp
    class_screen.cpp
    class_text-label.cpp
    class_text-label.cpp
    class_schematic_items.cpp
    cleanup.cpp
    cleanup.cpp
    component_class.cpp
    component_class.cpp
    controle.cpp
    controle.cpp
@@ -104,7 +104,6 @@ set(EESCHEMA_EXTRA_SRCS
if(WIN32)
if(WIN32)
    if(MINGW)
    if(MINGW)
        mingw_resource_compiler(eeschema)
        mingw_resource_compiler(eeschema)
        set(EESCHEMA_RESOURCES ${_OUT})
    else(MINGW)
    else(MINGW)
        set(EESCHEMA_RESOURCES eeschema.rc)
        set(EESCHEMA_RESOURCES eeschema.rc)
    endif(MINGW)
    endif(MINGW)
Loading