1. 程式人生 > >用CMake建立OpenGLES的測試工程

用CMake建立OpenGLES的測試工程

測試工程的目錄結構如下
+CMakeLists.txt | +--+ src/ |  | |  +---- XX.c |  /---- CMakeLists.txt +--+ libcommon/ |  | |  +--- xxx.h |  +--- xxx.c |  /--- CMakeLists.txt /-- + build 頂層CMakeLists
cmake_minimum_required(VERSION 2.8)

PROJECT(opengl-test C CXX)

add_subdirectory(src)

add_subdirectory(libcommon)
add_subdirectory告訴cmake去子目錄尋找新的CMakeLists.txt
src 的CMakeLists
include_directories(${PROJECT_SOURCE_DIR}/libcommon)
SET(SRCS

    Simple_Texture2D.c
    Hello_Triangle.c
    )


ADD_DEFINITIONS("-DDEBUG")

FOREACH(SRC ${SRCS})
    get_filename_component(TARGET_NAME ${SRC} NAME_WE)
    ADD_EXECUTABLE(${TARGET_NAME} ${SRC})
    TARGET_LINK_LIBRARIES(${TARGET_NAME}   libcommon)
ENDFOREACH(SRC)
include_directories將給定的路徑新增到編譯器搜尋包含檔案的路徑列表中

PROJECT_SOURCE_DIR 指的是工程頂層目錄

ADD_DEFINITIONS 供設定-D..等編譯預處理需要的巨集定義引數

foreach 對一個list中的每一個變數執行一組命令。

  foreach(loop_var arg1 arg2 ...)
    COMMAND1(ARGS ...)
    COMMAND2(ARGS ...)
    ...
  endforeach(loop_var)

get_filename_component 得到一個完整檔名中的特定部分。

  get_filename_component
(<VAR> FileName
PATH|ABSOLUTE|NAME|EXT|NAME_WE|REALPATH [CACHE])
  將變數<VAR>設定為路徑(PATH),檔名(NAME),副檔名(EXT),去掉副檔名的檔名(NAME_WE)
   ADD_EXECUTABLE 生成TARGET_NAME為名稱的可執行程式
   TARGET_LINK_LIBRARIES 將libcommon 連結到 TARGET_NAME這個目標上

libcommon的CMakeLists
SET(LIB_SRC esUtil.c
            esShapes.c
            esTransform.c
            esShader.c)

add_library(libcommon ${LIB_SRC})

set_target_properties(libcommon PROPERTIES OUTPUT_NAME "common")

TARGET_LINK_LIBRARIES(libcommon -lGLESv2 -lEGL -lm -lX11)
本來生成的靜態庫是liblibcommoon.a 為了生成的名稱libcommon.a


set_target_properties 修改庫的輸出名稱為 libcommon.a add_library 生成一個庫,類似於add_executable

相關推薦

CMake建立OpenGLES測試工程

測試工程的目錄結構如下 +CMakeLists.txt | +--+ src/ |  | |  +---- XX.c |  /---- CMakeLists.txt +--+ libcommon/ |  | |  +--- xxx.h |  +--- xxx.c |  /-

eclipse下maven建立多專案工程記錄

1.版本:eclipse是4.7.0,maven是3.5.2(沒有配置環境變數。。。懶得配) 2.目標:採用springBoot的具有多個子專案的工程 步驟:maven建立父專案: 在父專案中建立maven module: 依次建立需要的子專案比如:web,common

17.cmd建立maven web工程

1.跳轉到需要建立maven工程的目錄,輸入 mvn archetype:generate 2.找到webapp的那一項,輸入它的序號(這裡是10) 3.輸入groupId,artifactId,version(可不填)回車多次 4.輸入y確認建立,出現綠色

3.建立Maven測試工程

<dependencies>     <dependency>       <groupId>junit</groupId>      <artifactId>junit</artifactId>       <version&

CMake建立動態庫和靜態庫(轉)

五,靜態庫與動態庫構建 讀者雲,太能羅唆了,一個Hello World就折騰了兩個大節。OK,從本節開始,我們不再折騰Hello World了,我們來折騰Hello World的共享庫。 本節的任務:1,建立一個靜態庫和動態庫,提供HelloFunc函式供其他程式程式設計使用

Linux 平臺下CMake搭建Eclipse CDT工程

1、專案目錄規劃 在project_dir下建立build, cmake, src三個目錄。 2、編寫CMakeLists.txt檔案。 3、呼叫CMake命令為eclipse生成專案檔案 點選(此處)摺疊或開啟 mkdir -p build/re

解決cmake編譯與opencv相關的工程出現的錯誤

  利用cmake編譯opencv相關工程時會彈出對話方塊,提示錯誤,紅色提示cmake找不到opencvconfig.cmake之類。   原因:cmake的OpenCV_DIR路徑為空,新增相應的路徑即可(就是下面紅色的目錄樹,點開找到右面那裡填入路徑)。   解決方案:在OenCV_DIR處新增 .

IDEA建立sbt的Scala工程

Spark原始碼是有Scala語言寫成的,目前,IDEA對Scala的支援要比eclipse要好,大多數人會選在在IDEA上完成Spark平臺應用的開發。下面我們以IDEA建立一個Scala專案。 實驗環境準備: l  JDK: Java 語言的軟體開發工具包(SDK)

Object-C入門,建立一個Person工程,給新手

OC語言的基本特點: (1)OC語言是C語言的一個超集,只是在C的基礎之上加上了面對物件(oo)的特性; (2)OC與Java語言相同都是單繼承,這一點與C++語言不同(多重繼承); (3)OC不支援

idea的幾個好快捷鍵、常用配置(包括git)、jdk和javaSE和javaEE、建立一個SE工程、debug、建立一個Web工程、打war包

幾個好用的快捷鍵 Ctrl+F12,可以顯示當前檔案的結構樹 Ctrl+H ,顯示繼承關係樹 Ctrl+E,最近的檔案 Ctrl+Alt+T,可以把程式碼包在一個塊內,例如:try/catch Alt+Insert,可以生成構造器/Getter/Setter等 Ctrl+Alt+V,可以

jmeter學習_2(建立一個測試例的簡單流程)

建立一個測試用例的簡單流程 一、新增執行緒組 點選右鍵點選‘測試計劃’->‘新增’->‘Threads’->‘執行緒組’ ‘執行緒組’即為loadrunner中的虛擬使用者陣列,一個執行緒組就是一組虛擬使用者,建立成功後如下圖:

MyEclipse 下Junit建立測試

1>專案-------->右鍵-------->source folde       建立一個資料夾,目錄名最好為test; 2>右鍵點選新建立的test資料夾,建立一個包,包名要和你所測試的類的包名一致; 3>在包下建立測試類,類名最好是**

maven建立一個簡單java工程

1.到目標資料夾下:按shift滑鼠右擊,選擇命令視窗 2.輸入mvn archetype:generate,首次建立時,時間較長耐心等待。。。 3.輸入:maven-archetype-quickstart 4.依次輸入: 5.最後輸入:y  ,確認,在目標檔案件下生

使用cmake建立工程連結OPENNI2

main.cpp /************************* OpenNI2 Deep, Color and Fusion Image Author: Xin Chen, 2013.2 Blog: http://blog.csdn.net/chenxin_13

Caffe上SSD訓練和測試自己的數據

輸出 makefile b數 text play cal 上下 lba san 學習caffe第一天,用SSD上上手。 我的根目錄$caffe_root為/home/gpu/ljy/caffe 一、運行SSD示例代碼 1.到https://github.com

小米4做測試機怎麽樣

andro roi android androi .com and music 測試 hao123 aNDROID%E5%88%9B%E5%BB%BA%E4%B8%8E%E5%88%A0%E9%99%A4%E6%95%B0%E6%8D%AE%E5%BA%93 http:/

【轉】Python建立最簡單的web服務器

web服務 localhost 服務器 pos 根目錄 cal body -m -- 利用Python自帶的包可以建立簡單的web服務器。在DOS裏cd到準備做服務器根目錄的路徑下,輸入命令: python -m Web服務器模塊 [端口號,默認8000]

使用keil建立標準STM32工程模版

新建 nts 初學者 ont 什麽 包含 alt drivers 目錄 1. 模板工程的創建(超級詳細版,使用的是keil 4.5版本) 1.1創建工程目錄 良好的工程結構能讓文件的管理更科學,讓開發更容易更方便,希望大家養成良好的習慣,使用具有合理結構的工程目錄,當你

maven創建web工程

創建web工程 mage aging 工程目錄 配置 fin web工程 pan tro 1.打開eclipse,選擇File->New->Other菜單,彈出下面的對話框,在Wizards中輸入maven,會過濾出和maven相關的菜單,選中Maven Pro

Postman做自動化測試的功能

剛才 解析 測試的 工具 art rom http 例如 但是 自動化測試應該在桌面應用有該功能,在chrome的插件不知道有沒有,我也沒裝chrome版的Postman Postman工具介紹圖 上面這張就是Postman的操作界面。一開始我就是這樣做簡單的數據請求,查