Skip to content

Commit

Permalink
link static libraries into exe
Browse files Browse the repository at this point in the history
  • Loading branch information
tmarenko committed Aug 31, 2022
1 parent e3b63dc commit 327df6f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,19 @@ jobs:
- name: Build Leptonica ${{env.LEPTONICA_VERSION}}
run: |
cd ${{github.workspace}}/leptonica
cmake -B ${{env.LEPTONICA_BUILD}} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.LEPTONICA_BUILD}} -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON -DCMAKE_CXX_FLAGS=/DNO_CONSOLE_IO=1
cmake -B ${{env.LEPTONICA_BUILD}} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.LEPTONICA_BUILD}} -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON -DCMAKE_CXX_FLAGS=/DNO_CONSOLE_IO=1 -DCMAKE_CXX_FLAGS_RELEASE=/DMT -DCMAKE_CXX_FLAGS_DEBUG=/DMTd -DSTATIC=1
cmake --build ${{env.LEPTONICA_BUILD}} --config ${{env.BUILD_TYPE}} --target install
- name: Build Tesseract-OCR ${{env.TESSERACT_VERSION}}
run: |
cd ${{github.workspace}}/tesseract
cmake -B ${{env.TESSERACT_BUILD}} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_PREFIX_PATH=${{env.LEPTONICA_BUILD}} -DCMAKE_INSTALL_PREFIX=${{env.TESSERACT_BUILD}} -DBUILD_TRAINING_TOOLS=OFF
cmake -B ${{env.TESSERACT_BUILD}} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_PREFIX_PATH=${{env.LEPTONICA_BUILD}} -DCMAKE_INSTALL_PREFIX=${{env.TESSERACT_BUILD}} -DBUILD_TRAINING_TOOLS=OFF -DCMAKE_CXX_FLAGS_RELEASE=/DMT -DCMAKE_CXX_FLAGS_DEBUG=/DMTd -DSTATIC=1
cmake --build ${{env.TESSERACT_BUILD}} --config ${{env.BUILD_TYPE}} --target install
- name: Build OpenCV ${{env.OPENCV_VERSION}}
run: |
cd ${{github.workspace}}/opencv
cmake -B ${{env.OPENCV_BUILD}} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.OPENCV_BUILD}} -DBUILD_LIST="core,photo" -DWITH_FFMPEG=OFF
cmake -B ${{env.OPENCV_BUILD}} -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{env.OPENCV_BUILD}} -DBUILD_LIST="core,photo" -DWITH_FFMPEG=OFF -DBUILD_opencv_imgcodecs=OFF -DBUILD_opencv_apps=OFF -DBUILD_SHARED_LIBS=OFF -DSTATIC=1
cmake --build ${{env.OPENCV_BUILD}} --config ${{env.BUILD_TYPE}} --target install
- name: Build ${{env.REPO_NAME}}
Expand Down
14 changes: 8 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
cmake_minimum_required(VERSION 3.21)
cmake_minimum_required(VERSION 3.17)
project(GenshinImpact_PaimonShutUp)

ADD_DEFINITIONS(-DUNICODE)
ADD_DEFINITIONS(-D_UNICODE)

set(CMAKE_CXX_FLAGS_RELEASE "/MT")
set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
Expand All @@ -14,6 +16,10 @@ if(NOT TESSERACT_LANGUAGE)
set(TESSERACT_LANGUAGE "eng")
endif()

set(OpenCV_STATIC ON)
set(Leptonica_STATIC ON)
set(Tesseract_STATIC ON)

find_package(OpenCV 4.2.0 COMPONENTS core imgproc REQUIRED)
find_package(Leptonica 1.74 REQUIRED)
find_package(Tesseract 3.05 REQUIRED)
Expand All @@ -24,6 +30,7 @@ include_directories(${Leptonica_INCLUDE_DIRS})
include_directories(${Tesseract_INCLUDE_DIRS})

add_executable(${PROJECT_NAME} source/main.cpp source/tesseract.cpp source/tesseract.h appicon.rc source/config.cpp source/config.h)
set_property(TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded")

MESSAGE(STATUS "LINK LIBRARIES ${OpenCV_LIBS} ${Leptonica_LIBRARIES} ${Tesseract_LIBRARIES}")
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} ${Leptonica_LIBRARIES} libtesseract)
Expand All @@ -36,11 +43,6 @@ if (NOT EXISTS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tessdata/${TESSERACT_LANGUAGE}
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/tessdata/${TESSERACT_LANGUAGE}.traineddata)
endif ()

add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_RUNTIME_DLLS:${PROJECT_NAME}> $<TARGET_FILE_DIR:${PROJECT_NAME}>
COMMENT "Copying dependencies..."
COMMAND_EXPAND_LISTS)

add_custom_command(
TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
Expand Down

0 comments on commit 327df6f

Please sign in to comment.