1

build in one step

This commit is contained in:
Dan 2018-06-01 23:23:55 +02:00
parent 1a61d4bc46
commit 7ed8b0779d
2 changed files with 26 additions and 10 deletions

View File

@ -1,8 +1,23 @@
cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.5)
project(zero-epwing) project(zero-epwing)
include_directories(eb)
link_directories(eb/eb/.libs jansson/lib) include(ExternalProject)
ExternalProject_Add(
eb
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/eb
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/eb/configure --disable-shared --disable-ebnet --disable-nls
PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/eb
BUILD_COMMAND make
BUILD_IN_SOURCE 1
)
include_directories(eb ${CMAKE_BINARY_DIR})
option(JANSSON_EXAMPLES "" OFF)
option(JANSSON_BUILD_DOCS "" OFF)
option(JANSSON_WITHOUT_TESTS "" ON)
add_subdirectory(jansson)
link_directories(eb/eb/.libs ${CMAKE_BINARY_DIR}/jansson/lib)
add_executable(zero-epwing main.c book.c convert.c hooks.c) add_executable(zero-epwing main.c book.c convert.c hooks.c)
add_dependencies(zero-epwing eb jansson)
target_link_libraries(zero-epwing libeb.a libz.a libjansson.a) target_link_libraries(zero-epwing libeb.a libz.a libjansson.a)
if (WIN32 OR APPLE) if (WIN32 OR APPLE)
target_link_libraries(zero-epwing libiconv.a) target_link_libraries(zero-epwing libiconv.a)

View File

@ -38,13 +38,15 @@ Prepare your development environment by making sure the following tools are set
Once your system is configured, follow the steps below to create builds: Once your system is configured, follow the steps below to create builds:
1. Clone the repository by executing `git clone https://github.com/FooSoft/zero-epwing`. 1. Clone the repository by executing
2. Initialize the git submodules by executing `git submodule init`. ```
3. Pull down the submodule data by executing `git submodule update`. git clone --recurse-submodules https://github.com/FooSoft/zero-epwing
4. Switch to the `eb` directory and execute `./configure --disable-shared --disable-ebnet --disable-nls`. ```
5. While still in the `eb` directory, build the modified library by executing `make`. 2. Prepare the project. From the project root directory, execute
6. Switch to the `jansson` directory then execute `cmake .` and `make`. ```
7. From the project root directory, execute `cmake .` and `make`. cmake . -Bbuild && cmake --build build --
```
3. Find the executable in the `build` directory.
## Usage ## ## Usage ##
@ -108,4 +110,3 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.